PHP 警告 : move_uploaded_file() unable to move

标签 php file file-upload html-post

我一直在慢慢学习 PHP,并找到了其他开发人员发布的关于该主题和解决方案的一系列信息。我试图让一个 android 应用程序通过 HTTP post 将文件上传到 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;
}

我已经通过检查客户端的 wire shark 知道 http post 已正确发送,我还确保我正在写入文件的目录具有正确的权限,并且 php 安全模式设置为关闭。

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成功覆盖

关于PHP 警告 : move_uploaded_file() unable to move,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13723174/

相关文章:

linux - 如何通过 sftp 通过命令行上传文件?

javascript - PHP 和 JS - 上传图片不显示

php - 在 Twig 模板中包含 SVG

file - 这个powershell脚本是找到所有者然后更改所有者的好方法吗

javascript - 向 Javascript 函数传递错误值

c - 如何跨多个文件使用静态 C 变量?

c - 在 C 代码中使用 ReadFile

asp.net - 为不同维度设计 ASP.NET 文件 uploader

php - 如何计算行和列中的值的总和?

php - 无法使用 Microsoft 帐户登录