PHP上传文件涉及到的参数
PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面,我们简要介绍一下PHP文件上传涉及到的一些参数:
- file_uploads
- upload_tmp_dir
- upload_max_filesize
- post_max_size
- max_input_time
- memory_limit
- max_execution_time
- 对于linux主机,可能在/etc/httpd/conf.d/access.conf/下面里面还有php.conf 文件,这个文件可能会解决一些系统的文件大小限制问题
论坛的附件功能当初设计的初衷并不是为了文件管理,由于服务器配置,php,网络等多方面因素,使得通过论坛上传文件并不是一个好方案。
对于确实需要改善论坛附件上传条件的朋友可以尝试将上面提及的参数在php.ini进行设置,以适应大文件上传的需要。同时别忘记在论坛的后台相应做附件限制的地方进行设置。
论坛主要有2个地方可以对附件上传的大小进行限制,级别从高到低依次为:
- 帖子相关---附件类型尺寸
- 用户组---附件相关
打开php.ini,
参数 | 设置 | 说明 |
file_uploads | on | 是否允许通过HTTP上传文件的开关。默认为ON即是开 |
upload_tmp_dir | -- | 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 |
upload_max_filesize | 8m | 望文生意,即允许上传文件大小的最大值。默认为2M |
post_max_size | 8m | 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M |
说明 | ||
一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题 | ||
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。 | ||
max_execution_time | 600 | 每个PHP页面运行的最大时间值(秒),默认30秒 |
max_input_time | 600 | 每个PHP页面接收数据所需的最大时间,默认60秒 |
memory_limit | 8m | 每个PHP页面所吃掉的最大内存,默认8M |
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了