解析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中的正则表达式函数介绍
Feb 27 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
php制作文本式留言板
Mar 18 PHP
微信API接口大全
Apr 15 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
PHP程序员不应该忽略的3点
Oct 09 PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
浅谈php://filter的妙用
Mar 05 PHP
php依赖注入知识点详解
Sep 23 PHP
php实现的简单多进程服务器类完整示例
Feb 01 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 版本]
2007/03/20 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
php制作简单模版引擎
2016/04/07 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
nodejs实现聊天机器人功能
2019/09/19 NodeJs
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
python 容器总结整理
2017/04/04 Python
python3 发送任意文件邮件的实例
2018/01/23 Python
Python之reload流程实例代码解析
2018/01/29 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python实现图片转字符画的完整代码
2021/02/21 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
Why we need EJB
2016/10/20 面试题
建筑专业毕业生推荐信
2013/11/21 职场文书
六五普法规划实施方案
2014/03/21 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
详解Python常用的魔法方法
2021/06/03 Python