move_uploaded_file(uploads /)[function.move-uploaded-file]:无法打开流:权限被拒绝

时间:2014-08-22 16:07:45

标签: php

我有这个代码:

chmod('uploads', 0777);
$image = $_FILES['image']['tmp_name'];
$_FILES['image']['name'] =   date('d-m-Y_H-i-s-') . rand(11111,99999) * rand(99999,11111) . rand(111,999) . $_FILES['image']['tmp_name'];

和本:

move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/');

但是当我运行代码时,我收到此错误消息:

  

警告:move_uploaded_file(uploads /)[function.move-uploaded-file]:   无法打开流:权限被拒绝   第51行的D:\ AppServ \ www \ tab \ submit.php

     

警告:move_uploaded_file()[function.move-uploaded-file]:无法执行   移动' C:\ Windows \ Temp \ php4D3.tmp'到'上传/'在   第51行的D:\ AppServ \ www \ tab \ submit.php

如何解决?

2 个答案:

答案 0 :(得分:0)

可能apache的用户不是此文件夹的所有者。尝试更改它的所有者或将apache用户添加到具有写入权限的组。

其他的是,你只需要写权限,小心0777权限。

答案 1 :(得分:0)

我成功解决了它!
只需替换:

$_FILES['image']['name'] =   date('d-m-Y_H-i-s-') . rand(11111,99999) * rand(99999,11111) . rand(111,999) . $_FILES['image']['tmp_name'];

$file_name =   date('d-m-Y_H-i-s-') . rand(11111,99999) * rand(99999,11111) . rand(111,999) . $_FILES['image']['name'];

move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/');

move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$file_name);