解析PHP中$_FILES的使用以及注意事项


Posted in PHP onJuly 05, 2013

$_FILES数组内容如下:
$_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.

注:
1. 文件被上传结束后,默认地被存储在了临时目录中,这时必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。

2. 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES,它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。

3. 用form上传文件时,一定要加上属性内容 enctype="multipart/form-data",否则用$_FILES[filename]获取文件信息时会报异常。
<form enctype="multipart/form-data" action="URL" method="post">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>

PHP 相关文章推荐
深入解析php模板技术原理【一】
Jan 10 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
如何利用PHP执行.SQL文件
Jul 05 #PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 #PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 #PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 #PHP
浅析PHP的ASCII码转换类
Jul 05 #PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 #PHP
PHP cdata 处理(详细介绍)
Jul 05 #PHP
You might like
PHP用mysql数据库存储session的代码
2010/03/05 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
PHP 图片水印类代码
2012/08/27 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
详解js类型判断
2018/05/22 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python 元类实例解析
2018/04/04 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
基于django传递数据到后端的例子
2019/08/16 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
什么是属性访问器
2015/10/26 面试题
党校培训思想汇报
2014/01/03 职场文书
清洁工岗位职责
2014/01/29 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
医院感染管理制度
2015/08/05 职场文书
会计入职心得体会
2016/01/22 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书