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数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
开发大型 PHP 项目的方法
Jan 02 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
php实现统计邮件大小的方法
Aug 06 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
Aug 23 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 PHP
laravel-admin的图片删除实例
Sep 30 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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 session 检测和注销
2009/03/16 PHP
PHP中set error handler函数用法小结
2015/11/11 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
jQuery 页面 Mask实现代码
2010/01/09 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
潜说js对象和数组
2011/05/25 Javascript
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
JavaScript中各数制转换全面总结
2017/08/21 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 正则式 概述及常用字符
2009/05/07 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
生产内勤岗位职责
2013/12/07 职场文书
上课睡觉检讨书
2014/01/28 职场文书
阿德的梦教学反思
2014/02/06 职场文书
酒店节能减排方案
2014/05/26 职场文书
ktv好的活动方案
2014/08/17 职场文书
小学语文复习计划
2015/01/19 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
MongoDB数据库的安装步骤
2021/06/18 MongoDB
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers