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 相关文章推荐
一个可以找出源代码中所有中文的工具
Oct 25 PHP
php 动态添加记录
Mar 10 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
php文件下载处理方法分析
Apr 22 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
thinkPHP框架中layer.js的封装与使用方法示例
Jan 18 PHP
laravel框架与其他框架的详细对比
Oct 23 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 escape URL编码
2008/12/10 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
某页码显示的helper 少量调整,另附js版
2010/09/12 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
Python-基础-入门 简介
2014/08/09 Python
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
详解Python字符串对象的实现
2015/12/24 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
tornado+celery的简单使用详解
2019/12/21 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
杭州时比特电子有限公司SQL
2013/08/22 面试题
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
网站推广策划方案
2014/06/04 职场文书
大专毕业生求职信
2014/07/05 职场文书