PHP上传文件参考配置大文件上传


Posted in PHP onDecember 16, 2015

 PHP用超级全局变量数组$_FILES来记录文件上传相关信息的,在php文件上传之前,可通过调节php.ini中相关配置指令,来控制上传相关细节。

1.file_uploads=on/off

  是否允许通过http方式上传文件

2.max_execution_time=30

  允许脚本最大执行时间,超过这个时间就会报错

3.memory_limit=50M

  设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了
   --enable-memory-limit标志的情况下才生效

4.upload_max_filesize=20M

  允许上传文件的最大大小,此指令必须小于post_max_size

5.upload_tmp_dir

  上传文件临时存放目录

6.post_max_size=30M

  允许post方式可以接受最大大小

$_FILES数组内容如下: 3water.com

$_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.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。

也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。

附:修改PHP上传文件大小限制的方法

1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.

但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.

这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找

max_execution_time

默认是30秒.改为

max_execution_time = 0

0表示没有限制

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。

php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为

post_max_size = 150M

3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.

为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。

查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

PHP 相关文章推荐
PHP 输出缓存详解
Jun 20 PHP
PHP 七大优势分析
Jun 23 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
谈谈 PHP7新增功能
Dec 16 #PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 #PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 #PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
Dec 15 #PHP
WordPress中用于检索模版的相关PHP函数使用解析
Dec 15 #PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 #PHP
PHP工程师VIM配置分享
Dec 15 #PHP
You might like
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
Python错误处理操作示例
2018/07/18 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python实现邮件发送功能
2019/08/10 Python
python实现字典嵌套列表取值
2019/12/16 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
浅析matlab中imadjust函数
2020/02/27 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
Python如何定义一个函数
2015/09/01 面试题
法律进学校实施方案
2014/03/15 职场文书
校庆筹备方案
2014/03/30 职场文书
实践单位评语
2014/04/26 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
预备党员入党感想
2015/08/10 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
Python语言内置数据类型
2022/02/24 Python
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL