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 相关文章推荐
Ajax PHP简单入门教程代码
Apr 25 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
php中curl使用指南
Feb 05 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php支付宝手机网页支付类实例
Mar 04 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
PHP addcslashes()函数讲解
Feb 03 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 13 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 命令行参数详解及应用
2011/05/18 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
综合素质的自我鉴定
2013/10/07 职场文书
策划总监岗位职责
2014/02/16 职场文书
美术指导求职信
2014/03/17 职场文书
捐书仪式主持词
2015/07/04 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
在项目中使用redis做缓存的一些思路
2021/09/14 Redis