我有这个代码:
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- uploed -file]:打开流失败:权限被拒绝D:'AppServ'www'tab'submit.php on line 51
警告:move_uploaded_file() [function。move-upload -file]:无法移动'C:'Windows'Temp'php4D3.tmp'到'uploads/' inD:'AppServ'www'tab'submit.php on line 51
如何修复??
可能apache的用户不是这个文件夹的所有者。尝试更改其所有者或将apache用户添加到对其具有写权限的组中。
另一件事是,你只需要写权限,注意0777权限
我成功修复了!
只是替换:
$_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);