PHP 上传大于2M的文件限制

2024-12-03 16:24:22
推荐回答(4个)
回答1:

解决方法:

php.ini里查找

查找 post_max_size 改为:
post_max_size = 100M

查找upload_max_filesize,默认为2M 改为:
upload_max_filesize = 100M

解决上传超时

默认是30秒 改为:
max_execution_time = 0

0代表不限制

max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit = 128M ;每个PHP页面所吃掉的最大内存,默认8M

另外要确认上传的

里没有类似下面的这行这样也是限制上传大小用的

如果是apache 2 需要修改:

/etc/httpd/conf.d/php.conf 中的LimitRequestBody 524288将524288(=512×1024)改大,比如5M(=5×1024×1024)这样上传就不会出现如上问题,上传不响应,上传现实该页无法现实也将得到解决!

回答2:

//感谢!作者:心若水寒

1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制

另一种方法是可以在php程序中加入
set_time_limit();
来设定页面最久执行时间.
set_time_limit(0);//0表示没有限制

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150M

3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

回答3:

没办法,只能用压缩软件 分卷压缩 上传。

回答4:

ini_set("post_max_size","8M");

http://www.phpgz.com/html/yying/gcyco/20090420/329.html

入去看看.