解析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获取url的函数代码
Aug 02 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
php实现的验证码文件类实例
Jun 18 PHP
PHP实现简单汉字验证码
Jul 28 PHP
php利用header函数下载各种文件
Aug 24 PHP
PHP7多线程搭建教程
Apr 21 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
Nginx+php配置文件及原理解析
Dec 09 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 smarty的预保留变量总结
2008/12/04 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
Python中的zip函数使用示例
2015/01/29 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
python3中for循环踩过的坑记录
2020/12/14 Python
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
创业培训计划书
2014/05/03 职场文书
说明书格式及范文
2014/05/07 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
紧急通知
2015/04/17 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
Java基础——Map集合
2022/04/01 Java/Android