美文网首页
PHP上传文件时 $_FILES 为空,可能的原因及解决方法

PHP上传文件时 $_FILES 为空,可能的原因及解决方法

作者: _树摇风 | 来源:发表于2020-07-28 12:25 被阅读0次

在上传比较大的 文件,如 上传视频 的时候打印 $_FILES 为空,小的文件就没问题,后来发现是因为传的文件太大,
出现这个问题的原因主要有两个:表单原因或者php设置原因:

1,表单设置问题:

上传文件的表单编码类型必须设置成 enctype="multipart/form-data"

<form action="" method="post" enctype="multipart/form-data">
    ...
</form>

2,php配置问题:

查找php.ini文件,下面是linux命令:

find / -name php.ini    

(1)在 php.ini 里查找 max_execution_time 默认脚本最大执行30秒,这里可以改为 max_execution_time = 0 ; 表示没有时间限制,或在php文件头部添加:ini_set('max_execution_time',0);

(2)修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传, 在php.ini查找 post_max_size 改为 post_max_size = 50M

(3) 很多人都会改了第二步.但上传文件时最大仍然为 8M. 这是为什么呢.我们还要改一个参数
upload_max_filesize 表示所上传的文件的最大大小。 在php.ini查找 upload_max_filesize ,默认为8M改为
upload_max_filesize = 20M ,另外要说明的是,post_max_size 大于 upload_max_filesize 为佳。

修改完配置文件后,记得重启服务,以linux为例:

service php-fpm restart
service nginx restart

相关文章

网友评论

      本文标题:PHP上传文件时 $_FILES 为空,可能的原因及解决方法

      本文链接:https://www.haomeiwen.com/subject/gqkfrktx.html