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 Zip压缩 在线对文件进行压缩的函数
May 26 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
使用PHP uniqid函数生成唯一ID
Nov 18 PHP
PHP批量去除BOM头内容信息代码
Mar 11 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 PHP
PHP中“=&gt;
Mar 01 PHP
一文搞懂php的垃圾回收机制
Jun 18 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将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
在Mac OS上搭建Python的开发环境
2015/12/24 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
python时间日期操作方法实例小结
2020/02/06 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
卫校护理专业毕业生求职信
2013/11/26 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
农民工工资支付承诺函
2014/03/31 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
介绍信如何写
2015/01/31 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
入党心得体会
2019/06/20 职场文书