PHP $_FILES函数详解


Posted in PHP onMarch 09, 2011

如:

<form enctype="multipart/form-data" action="upload.php" method="post"> 
<input type="hidden" name="MAX_FILE_SIZE" value="1000"> 
<input name="myFile" type="file"> 
<input type="submit" value="上传文件"> 
</form>

然后upload.php中可以直接用
$_FILES
$_POST
$_GET
等函数获取表单内容。

今天我们着重讲$_FILES函数。
当客户端提交后,我们获得了一个$_FILES 数组

$_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.

文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。

PHP 相关文章推荐
php入门小知识
Mar 24 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
Parse正式发布开源PHP SDK
Aug 11 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
thinkPHP框架中执行原生SQL语句的方法
Oct 25 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 PHP
PHP中for与foreach的区别分析
Mar 09 #PHP
php模板中出现空行解决方法
Mar 08 #PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 #PHP
PHP数组交集的优化代码分析
Mar 06 #PHP
php下安装配置fckeditor编辑器的方法
Mar 02 #PHP
PHP如何抛出异常处理错误
Mar 02 #PHP
php中实现记住密码自动登录的代码
Mar 02 #PHP
You might like
PHP多例模式介绍
2013/06/24 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
在漏洞利用Python代码真的很爽
2007/08/26 Python
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
Python的requests网络编程包使用教程
2016/07/11 Python
python实现关键词提取的示例讲解
2018/04/28 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
python数据爬下来保存的位置
2020/02/17 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
性能服装:HYLETE
2018/08/14 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
销售员个人求职的自我评价
2014/02/10 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
开展读书活动总结
2014/06/30 职场文书
趣味运动会口号
2015/12/24 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android