解析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动态生成静态HTML网页的代码
Mar 04 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
php实现aes加密类分享
Feb 16 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
php显示页码分页类的封装
Jun 08 PHP
PHP实现将base64编码字符串转换成图片示例
Jun 22 PHP
Laravel 模型关联基础教程详解
Sep 17 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删除非空目录的函数代码小结
2013/02/28 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
nodejs初始化init的示例代码
2018/10/10 NodeJs
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
python+pygame简单画板实现代码实例
2017/12/13 Python
python中subprocess批量执行linux命令
2018/04/27 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
对Python3 序列解包详解
2019/02/16 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
编写strcpy函数
2014/06/24 面试题
人事专员岗位说明书
2014/07/29 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android