让你的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应用程序来获取Web服务器的状态信息
Oct 09 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
php实现zip文件解压操作
Nov 03 PHP
PHP生成和获取XML格式数据的方法
Mar 04 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
Yii2实现中国省市区三级联动实例
Feb 08 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
Laravel实现搜索的时候分页并携带参数
Oct 15 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
再次研究下cache_lite
2007/02/14 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
php实现中文转数字
2016/02/18 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
简单介绍Python中的decode()方法的使用
2015/05/18 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
python retrying模块的使用方法详解
2019/09/25 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
庆元旦广播稿
2014/02/10 职场文书
护士医德医风自我评价
2014/09/15 职场文书
2014年司法局工作总结
2014/12/11 职场文书
学生个人评语大全
2015/01/04 职场文书
党员争先创优承诺书
2015/01/20 职场文书
2015年客服工作总结范文
2015/04/02 职场文书