让你的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源码加密 仿微盾PHP加密专家(PHPCodeLock)
May 06 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
php解压文件代码实现php在线解压
Feb 13 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
Yii2单元测试用法示例
Nov 12 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
Yii2中添加全局函数的方法分析
May 04 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用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
php7性能提升的原因详解
2019/10/13 PHP
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
vue按需加载实例详解
2019/09/06 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
python实现扫描ip地址的小程序
2019/04/16 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
Python关于反射的实例代码分享
2020/02/20 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
美国NBA官方商店:NBA Store
2019/04/12 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
机工车间主任岗位职责
2014/03/05 职场文书
政府门卫岗位职责
2014/04/29 职场文书
心理咨询承诺书
2014/05/20 职场文书
影子教师研修方案
2014/06/14 职场文书
阅兵口号
2014/06/19 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
降价通知函
2015/04/23 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
python实现Nao机器人的单目测距
2021/09/04 Python
Python 数据可视化之Matplotlib详解
2021/11/02 Python