【问题标题】:php move_uploaded_file wont move the file to the hosted serverphp move_uploaded_file 不会将文件移动到托管服务器
【发布时间】:2016-02-13 05:56:32
【问题描述】:

我不知道如何解决这个问题,但问题是它不会上传到我用来托管网站的服务器,它创建的文件夹很好,但不会移动它。移动的编码如下。

这是我得到的错误 警告:move_uploaded_file(./userdata/profile_pics/iOy1pQXTZsLw7VA/) [function.move-uploaded-file]:无法打开流:是 /home/a4640336/public_html/account_settings.php 中的目录在第 103 行强>

还有这个错误代码

警告:move_uploaded_file() [function.move-uploaded-file]:无法将 '/tmp/phpX1zVno' 移动到 /home/a4640336/public_html/account_settings 中的 './userdata/profile_pics/iOy1pQXTZsLw7VA/' .php 在第 103 行

 move_uploaded_file(@$_FILES["profilepic"]["tmp_name"],"./userdata/profile_pics/$rand_dir_name/".$FILES["profilepic"]["name"]);
        echo "Your profile pic has been updated!".@$_FILES ["profilepic"]["name"];
        //$profile_pic_name = @$_FILES["profilepic"] ["name"];
        //$profile_pic_query= mysql_query("UPDATE users SET profile_pic='$rand_dir_name/$profile_pic_name' WHERE username='$username'");
        //header("location: account_settings.php");

总的来说,我试图改变它的位置,让它直接从源头引导,但它没有改变。如果有人可以帮助,请帮助我!

PS 注释掉的部分已经完成,以便能够看到错误

【问题讨论】:

  • 尝试给出您要保存的正确位置路径。还要检查 dir 是否具有可写权限,如果您上传的 dir 是我们的上一级 ../ 向上移动等等。
  • 我已经更改了我对源代码的路径,我将其更改为 ../ 到 ./ 甚至完整路径直接从 /home/... 甚至 /public_html /...到目前为止没有任何效果

标签: php


【解决方案1】:

对于那些在 Windows 和 IIS 上使用 PHP 的用户,您应该将 php.ini 中的 "upload_tmp_dir" 值设置为您的网站目录所在的某个目录,创建该目录,然后设置相同的您为网站目录设置的权限。否则,当您上传文件并进入 C:\WINDOWS\Temp 时,然后将其移动到您的网站目录,其权限将不会正确设置。如果您尝试上传大于 post_max_size 值的文件(或多个文件),页面只会自行刷新,不会抛出错误。

目标目录必须存在; move_uploaded_file() 不会自动为您创建。

你必须

  1. 确保文件不为空。

  2. 确保文件名中包含英文字符、数字和 (_-.) 符号,以获得更多保护。

  3. 确保文件名不超过 250 个字符。
  4. 检查您希望允许的文件扩展名和 Mime 类型 项目。您可以使用:pathinfo()。或者您可以使用正则表达式检查文件扩展名,如示例
  5. 检查文件大小并确保 php.ini 限制上传文件 是你想要的,你可以从here开始。
  6. 检查文件内容是否有错误代码或类似情况 功能
 move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $_FILES["file"]["name"]);

还要检查dir是否有可写权限

【讨论】:

    【解决方案2】:

    文件上传需要使用服务器路径

    $files = glob($_SERVER["DOCUMENT_ROOT"]."/myFolder/*");
    

    $_SERVER["DOCUMENT_ROOT"] 将获得像 var/host/public_html/your_folder 这样的服务器路径

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      相关资源
      最近更新 更多