【问题标题】:PHP upload file error code 8PHP上传文件错误代码8
【发布时间】:2015-10-30 22:19:14
【问题描述】:

我有一个表格,可以很好地处理(上传)许多图像文件并且大小不同。

但是有些图片没有上传到服务器。

问题图像有空的 $_FILE[name][tmp_name]$_FILE[name][error] == 8。

同时其他图片(文件大小较大或较小)正常上传。

你有什么想法吗?


谢谢。

print_r($_FILES) 用于普通图像 文件:数组 ( [img] => 数组 ( [名称] => 数组 ( [0] => 1320600215_0_284da_78d5c77a_xl.jpg ) [类型] => 数组 ( [0] => 图像/JPEG ) [tmp_name] => 数组 ( [0] => /var/www/test/data/mod-tmp/phpoqm4qR ) [错误] => 数组 ( [0] => 0 ) [大小] => 数组 ( [0] => 126867 ) ) ) print_r($_FILES) 用于问题图像 文件:数组 ( [img] => 数组 ( [名称] => 数组 ( [0] => 94689121_1GPPZgCqPmI.jpg ) [类型] => 数组 ( [0] => ) [tmp_name] => 数组 ( [0] => ) [错误] => 数组 ( [0] => 8 ) [大小] => 数组 ( [0] => 0 ) ) )

【问题讨论】:

  • 重命名未上传的图片,然后重试。为图像使用简单的名称
  • 重命名文件没有帮助。现在我尝试使用 phpinfo() 查找原因
  • 我遇到了同样的问题,尝试使用 move_uploaded_file 函数上传时出现错误 8。我的上传脚本运行了 5 年,但突然停止工作。 [photo1] => Array ( [name] => offf.jpg [type] => [tmp_name] => [error] => 8 [size] => 0 ) 我使用 phpinfo() 并找到了脚本,根据到错误号 8,这导致我的上传出现问题是“suhosin”,在您的情况下可能是其他问题。我联系了我的服务器管理员寻求帮助,并询问他们最近是否安装了“suhosin”。

标签: php upload


【解决方案1】:

您好,错误代码 8 表示:

 UPLOAD_ERR_EXTENSION

    Value: 8; A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.

可能有帮助的事情:

  1. 检查您的服务器是否安装了一些额外的安全模块,这些模块可能会限制文件上传(例如,Suhosin 提供了很多此类问题)

  2. 检查您的 max_upload_filesize 和 post_max_size 参数是否设置正确

  3. 尝试检查此问题是否发生在某些特定文件(例如,大文件、某些扩展名或某些文件名)或是否完全随机

【讨论】:

  • upload_max_filesize:100M post_max_size:100M 只有在上传某些图片(更大或更小或相同大小/分辨率/扩展名的其他图片)不会导致错误时才会出现该错误。重命名图像没有帮助。我从网上下载并尝试上传的25张图片中的1张导致错误,另一张正常上传。所有图像的大小 ~40-60 КByte
  • 顺便说一下,服务器有Suhosin Extension,我会尝试在这个方向找到解决方案。
  • 如果您拍摄了出现错误的图片并重新上传,您是否仍然收到该错误,或​​者这是一个更“位置”的问题(假设它在 20 次上传后开始失败)?
  • 每次我可以尝试上传问题图片时都会出现问题,无论我上传的顺序如何。
  • 能否尝试上传另一张相同宽度/高度的图片,看看是否失败?顺便说一句,您可以做的最好尝试是禁用 Suhosin 并尝试上传,但不知道您是否有足够的权限
【解决方案2】:
            if (isset($_FILES['files']) && !empty($_FILES['files'])) 
             {
                  date_default_timezone_set("asia/kolkata");
                  $image=date("YmdHis")."_".$_FILES['files']['name'];
                  move_uploaded_file($_FILES['files'] 
                  ['tmp_name'],"uploads/business/".$image);
             }

【讨论】:

    猜你喜欢
    • 2015-02-12
    • 1970-01-01
    • 2014-03-09
    • 2018-03-03
    • 2015-07-09
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 2012-06-18
    相关资源
    最近更新 更多