当前位置: 首页 > 面试题库 >

PHP警告:move_uploaded_file()无法移动

汲永嘉
2023-03-14
问题内容

我一直在慢慢学习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成功覆盖。



 类似资料:
  • 我正在为我的站点创建一个配置文件图片上载功能,但由于某种原因,不想运行。 我尝试了多个论坛,测试了所有可能的不同方法,但没有运气。 因此,首先,我检查所选文件是否有有效的扩展名,如果有,它将用microtime散列文件临时名(出于安全考虑)。然后,我将扩展连接到结尾,中间有一个句号,即输出将是。 然后通过将文件变量连接到目录的末尾来创建一个文件路径变量。 然后,通过传递和变量(就像您应该做的那样)

  • 嘿,我总是出错 警告:move_uploaded_file(路径):无法打开流:/Users/Shared/xampp htdocs/php reports/upload中的权限被拒绝。php第27行 我的index.php密码是 我的php代码是 我还将目录设置为 chmod 777

  • 问题内容: 将我的php版本更新到5.4.0-3后,我收到一个奇怪的PHP错误。 我有这个数组: 当我尝试像这样访问它时,会收到奇怪的警告 我真的不想只编辑我的php.ini并重新设置错误级别。 问题答案: 请尝试这种方式。…我已经测试了此代码。

  • 我不能使用任何PHP扩展。PHP工作没有未注释的扩展。error.log文字: PHP警告:PHP启动:无法加载动态库'd:/work/www/php/ext/{any_extension}. dll' 我有Windows 10 x64, PHP7 x64, Apache 2.4 x64; php中的扩展行。ini: extension_dir="d:/work/www/php/exts/" 路径

  • 我试图用PHP做一个待办事项列表 但是我收到这个错误警告:非法的字符串偏移量'todo' 在我的todo.php页面的顶部 在html部分 我该怎么解决这个?它一直警告我=>警告:非法字符串偏移量'todo' todo存在于我的mysql数据库中,其中包含待办事项activity的数据

  • 我试图更新laravel在ubuntu 06.04使用作曲家更新,但每次我运行这个警告总是出现。 有人知道怎么处理吗? 我正在使用php7.2