解析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中创建并处理图象
Oct 09 PHP
Windows下的PHP5.0详解
Nov 18 PHP
php 用sock技术发送邮件的函数
Jul 21 PHP
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
解析yii数据库的增删查改
Jun 20 PHP
php生成静态页面的简单示例
Apr 17 PHP
destoon整合UCenter图文教程
Jun 21 PHP
php数组使用规则分析
Feb 27 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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
输出控制类
2006/10/09 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP抽象类 介绍
2012/06/13 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
python开启debug模式的方法
2019/06/27 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
党员政治学习材料
2014/05/14 职场文书
村级个人对照检查材料
2014/08/22 职场文书
关于保护环境的建议书
2019/06/24 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript