PHP警告:move_uploaded_file()无法移动

我一直在慢慢地学习PHP,并发现了一系列有关其他开发人员发布的主题和解决scheme的信息。 我正试图有一个Android应用程序通过HTTP POSTfile upload到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 post是正确发送,我也确保我正在写文件的目录有正确的权限,并且php安全模式设置为closures。

从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 

任何帮助这个问题或进一步的方法来解决这个问题将不胜感激。

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

例子

 $ 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/