繁体   English   中英

PHP警告:move_uploaded_file()无法移动

[英]PHP Warning: move_uploaded_file() unable to move

我一直在慢慢学习PHP,并找到了有关其他开发人员发布的主题和解决方案的一系列信息。 我正在尝试让Android应用程序通过HTTP发布将文件上传到PHP服务器。 但是,尝试在PHP中写入文件时,服务器端无法正常工作。

这是PHP代码:

// Where the file is going to be placed
$target_path = "/var/www/media2net/uploads/uploads";

/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);

if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']) .
        " has been uploaded";
    chmod("uploads/" . basename($_FILES['uploadedfile']['name']), 755);
} else {
    echo "There was an error uploading the file, please try again!";
    echo "filename: " . basename( $_FILES['uploadedfile']['name']);
    echo " target_path: " .$target_path;
}

我已经从检查客户端的钢丝鲨中知道HTTP帖子已正确发送,而且我已确保将文件写入的目录具有正确的权限,并且php安全模式已设置为off。

apache2 error.log文件的输出读取

[Wed Dec 05 09:25:36 2012] [error] [client 74.14.162.250] PHP Warning:  
move_uploaded_file(): Unable to move '/tmp/phpVLOnn3' to  
'/var/www/media2net/uploads/downloaded_file.png' 
in /var/www/media2net/upload.php on line 9

任何有关此问题的帮助或解决该问题的其他方法将不胜感激。

通过使用“ chown”更改所有者或通过“ chmod”更改/ var / www / media2net / uploads /的上传权限

例子

$ sudo chown apache:apache /var/www/media2net/uploads/
$ sudo chmod 755 /var/www/media2net/uploads/

另外,如果该目录中已经存在downloaded_file.png并由另一个用户拥有,那么您还需要更改该文件的所有权。

$ sudo chown apache:apache /var/www/media2net/uploads/downloaded_file.png

这样,它可以被Apache成功覆盖。

这为我解决了问题:

$ sudo chown -R www-data:www-data /var/www/html/

这在Ubuntu操作系统中效果很好。 您只需要更改所有权

sudo chown -R www-data:www-data (path to the image folder)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM