如何修改PHP上传文件大小限制?

如何修改PHP上传文件大小限制?,第1张

1. 在php.ini中,做如下修改:\x0d\x0afile_uploads = on\x0d\x0aupload_tmp_dir = /home/upload\x0d\x0aupload_max_filesize = 4000M\x0d\x0apost_max_size = 4000M\x0d\x0a一般地,设置好上述四个参数后,上传8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:\x0d\x0amax_execution_time = 600\x0d\x0amax_input_time = 600\x0d\x0amemory_limit = 128M\x0d\x0a\x0d\x0a2. 在要确认上传的 里加入以下行:\x0d\x0a\x0d\x0a3. $_FILES["userfile"]["error"]返回值说明:\x0d\x0a$_FILES['teacher_pic']['error'] = 1文件大小超过了PHP.ini中的文件限制\x0d\x0a$_FILES['teacher_pic']['error'] = 2文件大小超过了浏览器限制\x0d\x0a$_FILES['teacher_pic']['error'] = 3文件部分被上传\x0d\x0a$_FILES['teacher_pic']['error'] = 4没有找到要上传的文件\x0d\x0a$_FILES['teacher_pic']['error'] = 5服务器临时文件夹丢失\x0d\x0a$_FILES['teacher_pic']['error'] = 6文件写入到临时文件夹出错\x0d\x0a$_FILES['teacher_pic']['error'] = -1 末充许的类型\x0d\x0a$_FILES['teacher_pic']['error'] = -2 文件过大,上传文件不能超过{$this->maxSize}个字节\x0d\x0a$_FILES['teacher_pic']['error'] = -3 上传失败\x0d\x0a$_FILES['teacher_pic']['error'] = -4 建立存放上传文件目录失败,请重新指定上传目录\x0d\x0a$_FILES['teacher_pic']['error'] = -5 必须指定上传文件的路径

1.在php.ini修改上传文件的大小

打开php.ini,首先找到(前4个够用了)

file_uploads = on 是否允许通过HTTP上传文件的开关。默认为ON即是开

upload_tmp_dir 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹

upload_max_filesize = 8m 望文生意,即允许上传文件大小的最大值。默认为2M

post_max_size = 8m 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。

但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。

进一步配置以下的参数

max_execution_time = 600 每个PHP页面运行的最大时间值(秒),默认30秒

max_input_time = 600 每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit = 8m 每个PHP页面所吃掉的最大内存,默认8M

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了

max_execution_time = 600

max_input_time = 600

memory_limit = 32m

file_uploads = on

upload_tmp_dir = /tmp

upload_max_filesize = 32m

post_max_size = 32m

2如果还是解决不了.

nginx修改上传文件大小限制

在 /etc/nginx/conf.d/下 找到你的配置文件 在location中加上这样一段代码

location / {

root html

index index.html index.htm

client_max_body_size5000m

}

切记!!!修改完配置文件要重启!重启!重启!

1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;

2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;

3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。

4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12079721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存