码迷,mamicode.com
首页 > Web开发 > 详细

PHP 文件上传之常见问题($_FILES为空,move_uploaded_file()函数报错)

时间:2018-11-15 18:26:20      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:问题   str   临时文件   大于   files   需要   技术   1.2   输入   

$_FILES数组为空
1.检查form表单
1.1 是否添加enctype="multipart/form-data"属性,
1.2 是否使用post发送方式

  1. 检查PHP配置文件php.ini
    如果不知道php.ini文件在什么位置,可以在当前PHP文件中输入echo phpinfo(); 然后在浏览器中查看PHP版本信息,如下图所示即为php.ini存储位置,然后在命令窗口打开( vi ).
    技术分享图片
    2.1查看file_uploads属性是否为on
    在命令模式下输入?file_uploads即可快速找到该属性;
    2.2 查看upload_max_filesize设置,如果比php中设置的size尺寸小也会导致$_FILES为空,默认为2M,可以改为自己想要;
    技术分享图片
    2.3 修改max_execution_time 属性值,一般上传默认为30s,如果文件大于5M时这个时间就不够用了,可以将其设置为0,也就是不受时间限制
    2.4 如果是多个文件上传,需要修改post_max_size 属性,默认为8M,它是整个form的大小,如果upload_max_filesize超过post_max_size的大小也会影响文件上传

move_uploaded_file()如果出现了"failed to open stream"的警告,如下图所示

技术分享图片
这是最终存储上传文件的文件夹没有权限的问题,因为上传文件首先是作为临时文件存储,然后使用move_uploaded_file()将文件移动到保存的位置,而保存的文件夹没有写入的权限,可以在PHP文件中输入 echo exec(‘who am i‘);查看当前使用者
解决的办法是将上传文件要保存的文件夹修改权限,chmod 757 upload就可以了。。

PHP 文件上传之常见问题($_FILES为空,move_uploaded_file()函数报错)

标签:问题   str   临时文件   大于   files   需要   技术   1.2   输入   

原文地址:https://www.cnblogs.com/MrBear/p/9964806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!