我有这个代码:
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
如何解决?
答案 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);