在PHP中是可自由设置上传文件的大小的,但很多新手看了网上一些教程后,发现修改了upload_max_filesize
的值后,上传较大文件的时候会导致上传失败。本教程将详细说明如何正确设置PHP中允许上传文件的大小。
通过php.ini设置
首先需找到php.ini文件所在路径,如果不确定,可以通过PHPinfo查看。
例如创建一个phpinfo.php文件,内容为:
将该文件上传至主机根目录或子目录,然后在浏览器中访问该文件URL,示例:https://www.zhanzhangb.com/phpinfo.php,可以看到类似以下内容,找到Loaded Configuration File
的值,如下示例:
在php.ini文件里查找:
upload_max_filesize
post_max_size
memory_limit
max_execution_time
upload_max_filesize就是上传附件大小,修改这个参数,例如改为:upload_max_filesize = 128M
。
post_max_size是post大小,设置值必须大于等于upload_max_filesize。
memory_limit是执行内存,一般设置64M或者128M,如果upload_max_filesize与upload_max_filesize设置太大,而memory_limit的值设置太小,则可能会造成上传大文件的时候失败。
max_execution_time 执行超时时间,单位是秒,修改为0表示无限制,该值也会影响上传文件,如上传文件较大,应相应增加max_execution_time的值。
推荐设置:
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time =300
注意:如果服务器的内存较少,memory_limit的值可改为64M-128M。
设置完成后,需重启PHP方可生效,可通过phpinfo检查设置的值是否生效。
宝塔面板用户设置
如果是宝塔面板用户,可以直接在宝塔面板的PHP设置中修改以上内容,示例:
原文地址:https://www.zhanzhangb.com/1990.html