php大文件上传时,应该注意的问题

时间:2022-08-28 12:06:16
/* 大文件上传时,应该注意的问题*/

1.时间限制
如果使用php程序进行文件上传,如果文件上传需要的时间过多,会停止运行程序.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

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

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

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

3.上传文件的最大大小
参数upload_max_filesize 表示所上传的文件的最大大小。
在php.ini里查找
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M

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

4.程序单次所耗内存的问题
上传文件时,可能会报下面的错误,就表示内存不够用了
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)

在php.ini里查找
memory_limit = 128M;//将128M改成了256M
注:尽量删除已用完的变量