让你的PHP,APACHE,NGINX支持大文件上传


Posted in PHP onMarch 09, 2021

PHP用全局变量数组$_FILES来记录文件上传的相关信息。

#php.ini

file_uploads=on
#是否允许通过http方式上传文件,设置为off则不允许

max_execution_time=0
#允许脚本最大执行时间,超过这个时间就会报错
#设置为0则不限制时间

memory_limit=128M
#设置脚本可以分配的最大内存量,防止失控脚本占用过多内存
#此指令只有在编译时设置了--enable-memory-limit标志的情况下才生效

upload_max_filesize=200M
#允许上传文件的最大大小,此指令必须小于post_max_size

upload_tmp_dir
#上传文件临时存放目录

post_max_size=300M
#允许post方式可以接受最大大小
#最好这个值大于upload_max_filesize

$_FILES['myFile']['name']
客户端上次文件的原始名称。

$_FILES['myFile']['type']
文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。

$_FILES['myFile']['size']
已上传文件的大小,单位为字节。

$_FILES['myFile']['tmp_name']
文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但用 putenv() 函数设置是不起作用的。

$_FILES['myFile']['error']
该文件上传相关的状态码。
['error'] 是在 PHP 4.2.0 版本中增加的。
下面是它的说明:(它们在PHP3.0以后成了常量)

UPLOAD_ERR_OK
值:0
没有错误发生,文件上传成功。

UPLOAD_ERR_INI_SIZE
值:1
上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

UPLOAD_ERR_FORM_SIZE
值:2
上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

UPLOAD_ERR_PARTIAL
值:3
文件只有部分被上传。

UPLOAD_ERR_NO_FILE
值:4
没有文件被上传。
值:5
上传文件大小为0.

文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。
不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。


别以为这样设置好了就可以正常传大文件了,继续往下看:

#NGINX
client_max_body_size 200M;

# 如果需要设置服务器所有站点都支持大文件
# 直接修改 nginx.conf, 添加到 http {} 里面
#
# 如果针对某个站点设置支持大文件
# 修改vhost下站点相对应的 conf , 添加到 server {} 里面, 不要放在 location 里
#APACHE
LimitRequestBody 209715200
#200M=20*1024*1024

记得重启(包括PHP)。

PHP 相关文章推荐
一个php作的文本留言本的例子(二)
Oct 09 PHP
Php+SqlServer实现分页显示
Oct 09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
eWebEditor v3.8 商业完整版 (PHP)
Dec 06 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
php中用unset销毁变量并释放内存
May 10 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 #PHP
PHP中echo与print区别点整理
Mar 09 #PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 #PHP
PHP读取文件或采集时解决中文乱码
Mar 09 #PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 #PHP
PHP7 windows支持
Mar 09 #PHP
PHP7 新增常量
Mar 09 #PHP
You might like
php+highchats生成动态统计图
2014/05/21 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
php实现的农历算法实例
2015/08/11 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
快速查询Python文档方法分享
2017/12/27 Python
pandas多级分组实现排序的方法
2018/04/20 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
大学自荐信
2013/12/12 职场文书
优秀学生自我鉴定范例
2013/12/18 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
小学校园活动策划
2014/01/30 职场文书
大学信息公开实施方案
2014/03/09 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技