解析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 程序员应该使用的10个组件
Oct 31 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php中二分法查找算法实例分析
Sep 22 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP下载大文件失败并限制下载速度的实例代码
May 10 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 PHP
laravel中Redis队列监听中断的分析
Sep 14 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
Terran剧情介绍
2020/03/14 星际争霸
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
JS中递归函数
2016/06/17 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
Python去除列表中重复元素的方法
2015/03/20 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
servlet面试题
2012/08/20 面试题
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
难忘的一天教学反思
2014/04/30 职场文书
花坛标语大全
2014/06/30 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python