PHP中文件上传时的注意事项
作者:admin 日期:2012-04-07
php中如果不修改php.ini,默认最大只能上传2M的文件,如果要上传超过2M的文件,则必须修改php.ini的相关配置。
如果要上传的文件有点大,如8M左右,则大概需要修改以下的几项配置。
post_max_size,file_uploads,upload_max_filesize,max_execution_time,max_input_time,memory_limit
-------------------------------------------
post_max_size = 10M
; 允许的POST数据最大字节长度。此设定也影响到文件上传。
; 如果POST数据超出限制,那么$_POST和$_FILES将会为空。
; 要上传大文件,该值必须大于upload_max_filesize指令的值。
; 如果启用了内存限制,那么该值应当小于memory_limit指令的值。
可修改范围: PHP_INI_PERDIR(配置选项可在 php.ini, .htaccess 或 httpd.conf 中设置)
-------------------------------------------
-------------------------------------------
file_uploads = On
;SYS
; 是否允许HTTP文件上传。
; 参见upload_max_filesize, upload_tmp_dir, post_max_size指令
可修改范围:PHP_INI_SYSTEM(配置选项可在 php.ini or httpd.conf 中设置)
-------------------------------------------
-------------------------------------------
upload_max_filesize = 10M
; 允许上传的文件的最大尺寸。
可修改范围: PHP_INI_PERDIR(配置选项可在 php.ini, .htaccess 或 httpd.conf 中设置)
-------------------------------------------
-------------------------------------------
max_execution_time = 300
; 每个脚本最大允许执行时间(秒),0 表示没有限制。
; 这个参数有助于阻止劣质脚本无休止的占用服务器资源。
; 该指令仅影响脚本本身的运行时间,任何其它花费在脚本运行之外的时间,
; 如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。
; 在安全模式下,你不能用ini_set()在运行时改变这个设置。
;
; 可以通过函数set_time_limit(0)来设置程序不超时。
You can not change this setting with ini_set() when running in 安全模式. The only workaround is to turn off safe mode or by changing the time limit in the php.ini.
可修改范围: PHP_INI_ALL(配置选项可在各处设置)
-------------------------------------------
-------------------------------------------
max_input_time = -1
; 每个脚本解析输入数据(POST, GET, upload)的最大允许时间(秒)。
; -1 表示不限制。
max_input_time integer
This sets the maximum time in seconds a script is allowed to receive input data, like POST, GET and file uploads.
可修改范围: PHP_INI_PERDIR(配置选项可在各处设置)
-------------------------------------------
-------------------------------------------
memory_limit = 128M
; 一个脚本所能够申请到的最大内存字节数(可以使用K和M作为单位)。
; 这有助于防止劣质脚本消耗完服务器上的所有内存。
; 要能够使用该指令必须在编译时使用"--enable-memory-limit"配置选项。
; 如果要取消内存限制,则必须将其设为 -1 。
; 设置了该指令后,memory_get_usage()函数将变为可用。
可修改范围: PHP_INI_ALL(配置选项可在各处设置)
-------------------------------------------
=============================================
安装模式的设置说明
safe_mode = Off
;SYS
; 是否启用安全模式。
; 打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同,
; 相同则允许操作,不同则拒绝操作。
修改完以上几项配置以后,一般需要将Web服务器重启以便修改生效(如果php是用fastcgi方式运行,则只需要重启php-fpm即可)
广告位