php 上传大文件配置upload_max_filesize和post_max_size选项

时间:2022-11-26 14:39:02

php 上传大文件配置upload_max_filesize和post_max_size选项

(2014-04-29 14:42:11)

$_FILES["file"]["error"]是错误代码,0表示没有错误,下面几种对应不同的错误
1 : 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值.
2 : 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
3 : 文件只有部分被上传
4 : 没有文件被上传 $_FILES["file"]["error"] >0就是表示有错误发生
总结:php.ini配置文件中的默认文件上传大小为2M, 默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。但是光设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默 认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于 upload_max_filesize指令的值,我一般设定upload_max_filesize和post_max_size值相等。另外如果启用 了内存限制,那么该值应当小于memory_limit选项的值。

 文件上传的其他注意事项

  在上传大文件时,你会有上传速度慢的感觉,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示每个脚本最大允许执行时间(秒),0 表示没有限制。你可以适当调整max_execution_time的值,不推荐设定为0。