前面我们了解了如何《 使用 PHP 实现文件上传和多文件上传 》.不过,在 PHP 的默认配置情况下,当上传的文件大小超出一定的限制时,我们将得到如下的错误提示信息:
Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
上述错误信息的大致意思是,我们使用 POST 请求提交的数据大小超过了服务器的最大限制数 (8388608 字节 = 8MB).
出现上述错误的原因是,在 PHP 的配置文件 php.ini 中,默认存在如下配置信息 (在 php.ini 中,行首的分号";"表示当前行是注释,不会生效):
; 脚本解析输入数据 (类似 POST 和 GET) 允许的最大时间,单位是秒. 它从接收所有数据到开始执行脚本进行测量的.
max_input_time = 60
; 允许客户端单个 POST 请求发送的最大数据
post_max_size = 8M
; 是否开启文件上传功能
file_uploads = On
; 文件上传的临时存放目录 (如果不指定,使用系统默认的临时目录)
;upload_tmp_dir =
; 允许单个请求上传的最大文件大小
upload_max_filesize = 2M
; 允许单个 POST 请求同时上传的最大文件数量
max_file_uploads = 20
从上面的配置信息中我们可以看出,PHP 的默认配置信息就是导致 PHP 文件上传时提示文件大小超出限制的「罪魁祸首」.笔者已经在上述配置信息中给出了各个指令选项对应的中文注释信息,大家可以根据自己的实际需求情况对 php.ini 配置文件进行相应的修改.
来源: http://www.bubuko.com/infodetail-2471534.html