让你的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 相关文章推荐
自己动手做一个SQL解释器
Oct 09 PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 PHP
php 静态变量的初始化
Nov 15 PHP
二招解决php乱码问题
Mar 25 PHP
根据ip调用新浪api获取城市名并转成拼音
Mar 07 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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
一个取得文件扩展名的函数
2006/10/09 PHP
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Django之form组件自动校验数据实现
2020/01/14 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
华为c/c++笔试题
2016/01/25 面试题
医院办公室主任职责
2013/12/29 职场文书
演讲稿开场白
2014/01/13 职场文书
骨干教师事迹材料
2014/12/17 职场文书
专家推荐信怎么写
2015/03/25 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android