解析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 相关文章推荐
我的群发邮件程序
Oct 09 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
php split汉字
Jun 05 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
php 启动报错如何解决
Jan 17 PHP
PHP远程采集图片详细教程
Jul 01 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
php 删除cookie方法详解
Dec 01 PHP
教你php如何实现验证码
Jan 20 PHP
thinkPHP5.0框架事务处理操作简单示例
Sep 07 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 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程序?
2006/12/08 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php xml常用函数的集合(比较详细)
2013/06/06 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
parentElement,srcElement的使用小结
2014/01/13 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Python正则表达式常用函数总结
2017/06/24 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
Python3 log10()函数简单用法
2019/02/19 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python同时替换多个字符串方法示例
2019/09/17 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
基于python实现计算两组数据P值
2020/07/10 Python
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
体育学院毕业生自荐信
2013/11/03 职场文书
维稳工作承诺书
2015/01/20 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
预备党员半年考察意见
2015/06/01 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技