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截取后台登陆密码的代码
May 05 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
php控制文件下载速度的方法
Mar 24 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
Symfony生成二维码的方法
Feb 04 PHP
Symfony2创建页面实例详解
Mar 18 PHP
PHP记录页面停留时间的方法
Mar 30 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
php添加数据到xml文件的简单例子
Sep 08 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
投票管理程序
2006/10/09 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
python常见的格式化输出小结
2016/12/15 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
个人充满哲理的自我评价
2014/02/20 职场文书
校运会口号
2014/06/18 职场文书
会计学习心得体会
2014/09/09 职场文书
英文感谢信格式
2015/01/21 职场文书
老乡聚会通知
2015/04/23 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL