PHP中文件上传时的注意事项

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即可)



上一篇: PHP中打开或包含远程文件时要注意的问题
下一篇: PHP开发中值得注意的几个问题(三)
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: php
相关日志:
评论: 0 | 引用: 0 | 查看次数: 1791
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭

 广告位

↑返回顶部↑