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 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
php抓即时股票信息
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
Windows PHP5和Apache的安装与配置
Jun 08 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
php跨站攻击实例分析
Oct 28 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
php封装的连接Mysql类及用法分析
Dec 10 PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
php nginx 实时输出的简单实现方法
Jan 21 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
PHP父类调用子类方法的代码例子
2014/04/09 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
javascript编程起步(第六课)
2007/01/10 Javascript
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
js模拟类继承小例子
2010/07/17 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
PyQT实现多窗口切换
2018/04/20 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Random 在 Python 中的使用方法
2018/08/09 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
python实现简单的tcp 文件下载
2020/09/16 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
抽样调查项目计划书
2014/04/24 职场文书
作风建设年活动总结
2014/08/27 职场文书
三八红旗手事迹材料
2014/12/26 职场文书