让你的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 相关文章推荐
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
让PHP以ROOT权限执行系统命令的方法
Feb 10 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
php导出word格式数据的代码实例
Nov 25 PHP
php实现图片缩放功能类
Dec 18 PHP
php+ajax实现图片文件上传功能实例
Jun 17 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
PHP微信开发之有道翻译
Jun 23 PHP
自制PHP框架之模型与数据库
May 07 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
PHP中number_format()函数的用法讲解
Apr 08 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面向对象程序设计方法实例详解
2016/12/24 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
如何编写jquery插件
2017/03/29 jQuery
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
讲解python参数和作用域的使用
2013/11/01 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
应届大学生自荐信格式
2013/09/21 职场文书
生产班组长岗位职责
2014/01/05 职场文书
活动志愿者自荐信
2014/01/27 职场文书
幼儿园保育员岗位职责
2014/04/13 职场文书
班风口号
2014/06/18 职场文书
事业单位年度考核评语
2014/12/31 职场文书
行政司机岗位职责
2015/04/10 职场文书
2016新年年会主持词
2015/07/06 职场文书
外出考察学习心得体会
2016/01/18 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
MySQL聚簇索引和非聚簇索引的区别详情
2022/06/14 MySQL