解析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 字符串长度判断效率更高的方法
Mar 02 PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
php模拟服务器实现autoindex效果的方法
Mar 10 PHP
php 类自动载入的方法
Jun 03 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
微信JSSDK分享功能图文实例详解
Apr 08 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 PHP
php访问对象中的成员的实例方法
Nov 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 网上商城促销设计实例代码
2012/02/17 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
toString()一个会自动调用的方法
2010/02/08 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
Python简单日志处理类分享
2015/02/14 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
活动志愿者自荐信
2014/01/27 职场文书
安全生产实施方案
2014/02/23 职场文书
大专生求职信
2014/06/29 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
感恩父母主题班会
2015/08/12 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python