PHP中$_FILES的使用方法及注意事项说明


Posted in PHP onFebruary 14, 2014

$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传

$_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 相关文章推荐
eWebEditor v3.8 商业完整版 (PHP)
Dec 06 PHP
php 数组的指针操作实现代码
Feb 08 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
解析php开发中的中文编码问题
Aug 08 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
在html文件中也可以执行php语句的方法
Apr 09 PHP
php验证码实现代码(3种)
Sep 07 PHP
php图片添加水印例子
Jul 20 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 #PHP
PHP COOKIE及时生效的方法介绍
Feb 14 #PHP
php递归使用示例(php递归函数)
Feb 14 #PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 #PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 #PHP
php中simplexml_load_string使用实例分享
Feb 13 #PHP
使用php显示搜索引擎来的关键词
Feb 13 #PHP
You might like
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
非常漂亮的JS代码经典广告
2007/10/21 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
jquery中this的使用说明
2010/09/06 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
python版微信跳一跳游戏辅助
2018/01/11 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
研究生自荐信
2013/10/09 职场文书
学校文明单位申报材料
2014/05/06 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
建筑安全标语
2014/06/07 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
初中政治教学工作总结
2015/08/13 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL