解析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学习教程之第1天
Jun 15 PHP
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
精美漂亮的php分页类代码
Apr 02 PHP
php之XML转数组函数的详解
Jun 07 PHP
php curl模拟post提交数据示例
Dec 31 PHP
php反射应用示例
Feb 25 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
解决php表单重复提交实现方法
Sep 29 PHP
php数组函数array_walk用法示例
May 26 PHP
php可变长参数处理函数详解
Feb 22 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
详解Laravel服务容器的绑定与解析
Nov 05 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
canvas的神奇用法
2017/02/03 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
Python自动生产表情包
2017/03/17 Python
python实现报表自动化详解
2017/11/16 Python
python读取文本中的坐标方法
2018/10/14 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
运行Python编写的程序方法实例
2020/10/21 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
python自动化发送邮件实例讲解
2021/01/04 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
后勤采购员岗位职责
2013/12/19 职场文书
财务会计人员求职的自我评价
2014/01/13 职场文书
国窖1573广告词
2014/03/21 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
校园广播稿精选
2014/10/01 职场文书
丽江古城导游词
2015/02/03 职场文书
超市食品安全承诺书
2015/04/29 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS