今天多媒体考试的时候考试系统突然出现了bug,发现超过5M的PHP文件就不能上传了,经过后台上传代码的检查发现不是程序的问题,最终确定是PHP配置文件出了问题,下面为大家写一下PHP限制文件上传大小的配置方法。
配置文件的名称:php.ini
一般路径:php安装目录/php主目录/php.ini
配置方法
- 首先要搜索 “file_uploads = ”这一行代码 确定 “file_uploads = On;”,这句话的意思是开启php上传文件功能,不过一般这个都是默认开启的。
- 然后搜索 “upload_max_filesize = ” 这行配置代码,在等号的后面进行文件大小的配置,如“upload_max_filesize=100M;”限制了php可以上传最大100M的 文件,然后搜索 “post_max_size = ”,这句代码限制用户使用表单提交文件的最大值修改等号后面的值如:“post_max_size = 8m;”,限制用户表单提交8M的文件。
- 如果上传还有问题就进一步进行配置,有时候文件太大了,用户网速又不够,这时候很有可能出现php脚本运行完成,但是用户文件还没有传完,导致上传失败,这时候最好配置一下每个PHP页面运行的最大时间值(秒),一般默认30秒,即一个php脚本运行了30秒就结束了,你可以对这个时间长度进行延长,代码:
max_execution_time = 500; 设置php运行的最大时常为600秒。
max_input_time = 500; 设置每个PHP页面接收数据所需的最大时间为500秒,默认60秒。
memory_limit = 10m ; 设置每个PHP页面所吃掉的最大内存为10M,默认8M。
4.配置完php.ini文件之后记得保存,然后重启apache服务,进行测试。
到此为止,一般较大的文件就可以进行上传了,但是如果使用html自带的上传file表单上传时候很多情况下还会出现问题,仍然是文件太大,导致文件无法上传,在这里,小编建议大家使用开源的js上传插件进行文件上传,尤其是较大的视频文件之类的,擦用分片上传绝对是个明智的选择,本人屡试不爽,再大的文件分成片也能成功上传,这种上传方式和插件有时间再在博客里面进行更新。
2016年11月19日 01:08 沙发
收藏了
2016年12月27日 17:47 板凳
666
2017年5月30日 22:39 地板
下面的评论是你请来的吗?
老铁
2017年5月31日 11:53 4楼
好像是我当时测试评论的时候弄得。。。