PHP 文件上传处理的坑

多端上传文件的时候 遇到这样的情况:

  1. 先是在小程序中 上传的时候发现 PHP 获取的 $_FILES 数据不太对。无法正常获取到 tmpname,通过任意上传图片试了下之后发现又好了,于是没再管他。备注 A
  2. 今天在调试 APP,使用 apicloud 的端 API 方法 api.ajax 来上传图片、视频和音频发现又出现了之前的情况。备注 B 备注 A、B 的$_FILES内容:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    array (
    'file' =>
    array (
    'name' => '20180912115908merge.mp4',
    'type' => '',
    'tmp_name' => '',
    'error' => 1,
    'size' => 0,
    ),
    )

注意上面的 'error' => 1, 这是我忽略的地方。
因为代码是别人写好的,感觉就是没问题,于是就没注意到这个 error
查了很多资料(浪费了大量的时间)后,才感觉到是否是文件较大上传不上来。

然后讲 php.ini 的配置 upload_max_filesizepost_max_size 调大后,文件正常上传,然后回过头来才恍然大悟,为什么就没有想到检查错误值。

别人做好的代码,二次开发时如果出错,最好要仔细检查一遍,确认报错信息是否正确。

this is my mistake !!!

  • Post author: hainuo
  • Post link: php_file_upload_notice
  • Copyright Notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.