让你的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 相关文章推荐
ip签名探针
Oct 09 PHP
PHP入门学习笔记之一
Oct 12 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
Jul 14 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
PHP设计模式之单例模式原理与实现方法分析
Apr 25 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
Yii实现微信公众号场景二维码的方法实例
Aug 30 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提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
教你php如何实现验证码
2016/01/20 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
Python中关键字is与==的区别简述
2014/07/31 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python urllib爬虫模块使用解析
2019/09/05 Python
Python实现动态循环输出文字功能
2020/05/07 Python
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
在购买印度民族服饰:Soch
2020/09/15 全球购物
大学毕业生个人自荐信范文
2014/01/08 职场文书
促销活动策划方案
2014/01/12 职场文书
食品采购员岗位职责
2014/04/14 职场文书
市政管理求职信范文
2014/05/07 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
硕士论文致谢范文
2015/05/14 职场文书
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
OpenFeign实现远程调用
2022/08/14 Java/Android