PHP默认的文件上传尺寸限制最大是2M,如果需要上传超过该尺寸大小的文件,需要调整PHP的配置文件中的部分参数。下面介绍PHP文件上传中涉及需要调节的参数及含义。
file_uploads:是否允许通过HTTP上传文件的开关,默认为ON,即开通。广州网站建设
upload_tmp_dir:用来指明PHP上传文件放置的临时目录,待上传的文件需要保证服务器没有关闭临时文件并对文件夹有"写"权限,如果未指定则PHP使用系统默认值。
upload_max_filesize:允许上传文件大小的最大值,默认为2M。广州网站建设
post_max_size:设置在POST方法中,进行一次表单提交中PHP所能够接收的最大数据量。如果希望使用PHP文件上传功能,则需要将此值改为比upload_max_filesize数值大。
max_input_time:以秒为单位对通过POST、GET及PUT方式接收数据的时间进行限制。如果应用程序所运行环境处在低速链路上,则需要增加此值以适应接收数据所需的更多时间。
memory_limit:为了避免正在运行的脚本大量使用系统可用内存(PHP允许定义内存使用限额)。通过memory_limit变量指定单个脚本程序可以使用的最大内存容量变量memory_limit的值应当适当大于post_max_size的值。广州网站设计
max_execution_time:设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算。当脚本进入了一个无限循环状态时此变量非常有用。然而,当存在一个需要很长时间完成的合法活动时(如上传大尺寸文件)这项功能也会导致操作失败。在这样的情况下,必须考虑将此变量值增加,以避免PHP在脚本正在执行某些重要过程的时候将脚本关闭。
了解各项参数的含义后开始调节相关项目的参数,打开php.ini,需要修改如下几处。广州网站设计
file_uploads =on:是否允许通过HTTP上传文件的开关,默认为ON,即开。
upload_tmp_dir:文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件。
upload_max_filesize = 8m:允许上传文件大小的最大值,默认为2M。
post_max_size = 8m:指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M。
设置好上述4个参数后,可以上传尺寸小于8M的文件。如果需要上传尺寸更大的文件,则需要进一步配置以下参数。
max_execution_time = 600:每个PHP页面运行的最大时间值(秒),默认为 30秒。
max_input_time = 600:每个PHP页面接收数据所需的最大时间,默认为60秒。
memory_limit = 8m:每个PHP页面所占用的最大内存值,默认为8MB。
对于Linux主机,还需要调整php.conf文件中的LimitRequestBody 524288将524 288(512×1024)改大,如改为5M(5×1024×1024),这样上传就不会失败。



