关于php 文件上传错误的问题!!!! [100分 在线急等]

EriSeven 2005-04-21 09:23:59
网站急需文件上传功能
可move_uploaded_file()函数测试没通过
服务器相关设置不很明确 不过文件上传应该是开了 php4.3
不知道是不是和虚拟主机有关?


请各位高人指点 多谢 小弟很急!!



相关代码及信息如下:


代码:
<?php
// 在 4.1.0 以前的 PHP 中,需要用 $HTTP_POST_FILES 代替 $_FILES。
// 在 4.0.3 以前的 PHP 中,需要用 copy() 和 is_uploaded_file() 来代替 move_uploaded_file()。

$uploaddir = '/home/gonghui/wwwroot/testsite/';
$uploadfile = $uploaddir. $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
print "</pre>";
?>


提交表单:


<form action="upload.php" name="uploadform" enctype="multipart/form-data" method="post">
<input type="file" name="userfile">
<input type="submit" name="submit" value="submit">
</form>


错误信息:

Warning: move_uploaded_file(/home/gonghui/wwwroot/testsite/sb.jpg) [function.move-uploaded-file]: failed to create stream: Permission denied in /home/gonghui/wwwroot/testsite/upload.php on line 8

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpNDX1Jt' to '/home/gonghui/wwwroot/testsite/sb.jpg' in /home/gonghui/wwwroot/testsite/upload.php on line 8
Possible file upload attack! Here's some debugging info:
Array
(
[userfile] => Array
(
[name] => sb.jpg
[type] => image/pjpeg
[tmp_name] => /tmp/phpNDX1Jt
[error] => 0
[size] => 7398
)

)

...全文
287 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
EriSeven 2005-04-22
  • 打赏
  • 举报
回复
各位见笑了 问题已经解决
多谢各位帮忙 的确是权限问题
都有分!
keaizhong 2005-04-22
  • 打赏
  • 举报
回复
回复人: surfchen(冲浪) ( ) 信誉:101 2005-04-22 14:20:00 得分: 0


chmod


回复人: EriSeven(爱睡觉) ( ) 信誉:100 2005-04-22 14:39:00 得分: 0


能不能说明一下



你还真的是只爱睡觉了,查一下手册不就知道了。
lireng 2005-04-22
  • 打赏
  • 举报
回复
使用的是什么类型的主机。如果是unix,则要更改属情为777
ray929 2005-04-22
  • 打赏
  • 举报
回复
如果启用安全模式
而且你的FTP权限比较小的话就比较麻烦
请联系系统管理员
这样做最省事
coolstr 2005-04-22
  • 打赏
  • 举报
回复
最简单的方法:
你用你的ftp帐户登录到服务器上,
一般ftp软件(如:cuteftp)右键该目录,你就可以看到有个地方可以改改目录权限的了。
EriSeven 2005-04-22
  • 打赏
  • 举报
回复
能不能说明一下
surfchen 2005-04-22
  • 打赏
  • 举报
回复
chmod
EriSeven 2005-04-22
  • 打赏
  • 举报
回复
如何打开写入权限?请各位指教
php有改写文件权限的函数吗?
ray929 2005-04-21
  • 打赏
  • 举报
回复
'/home/gonghui/wwwroot/testsite/'有权限吗?
它存在吗?
keaizhong 2005-04-21
  • 打赏
  • 举报
回复
应该是权限问题,打开写入权限。
zhutimy 2005-04-21
  • 打赏
  • 举报
回复
应该是apache在/home/gonghui/wwwroot/testsite这个目录下没有写权限!
把那目录的权限设置为0777
试试

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧