让你的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编程中字符串处理的5个技巧小结
Nov 13 PHP
PHP Smarty生成EXCEL文档的代码
Aug 23 PHP
php adodb介绍
Mar 19 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
PHP随机生成信用卡卡号的方法
Mar 23 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
php取出数组单个值的方法
Mar 12 PHP
PHP读取目录树的实现方法分析
Mar 22 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
用PHP读注册表
2006/10/09 PHP
PHP入门学习的几个不错的实例代码
2008/07/13 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
新闻内页-JS分页
2006/06/07 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python检测数据类型的方法总结
2019/05/20 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
创建无烟单位实施方案
2014/03/29 职场文书
大学生简短的自我评价
2014/09/12 职场文书
大学生村官个人总结
2015/02/15 职场文书
校车安全管理责任书
2015/05/11 职场文书
给朋友的赠语
2015/06/23 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书