如何调整 php 应用的上传附件大小?

最近搭建了 php 的 web 端邮件应用程序—— RoundCude(后续简称为: RC) 。

中间有文件上传的需求,因 RC 是 Php 写的,上传文件的大小主要通过 php 控制。

控制 php 的容许上传大小也有多种方式,一种全局控制 php.ini 文件,二是通过 .htaccess 文件控制

一、全局控制 php.ini 文件

1、开启文件上传

file_uploads = On

2、内存大小

memory_limit = 128M // 在被取消之前,一个脚本可使用多少内存(字节)

3、增加 post 方式提交的数据大小

post_max_size = 32M

4、允许上传的最大上传文件大小

upload_max_filesize = 30M

5、最大的输入时间。一个脚本等待输入数据的时间有多长(秒)

max_input_time = 60

6、增加进程执行的时间。一个脚本可使用多少 CPU 秒

max_execution_time = 300

从逻辑顺序上:memory_limit > post_max_size > upload_max_filesize,再加上一个前提 max_execution_time许可时间足够长。

二、在 .htaccess 中添加上述对应的设置值

php_value upload_max_filesize 30M

php_value post_max_size 35M

php_value max_execution_time 300

三、参考文件

1、http://lists.roundcube.net/pipermail/users/2011-March/007748.html

2、http://www.radinks.com/upload/config.php