解析PHP中$_FILES的使用以及注意事项


Posted in PHP onJuly 05, 2013

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

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

2. 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES,它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。

3. 用form上传文件时,一定要加上属性内容 enctype="multipart/form-data",否则用$_FILES[filename]获取文件信息时会报异常。
<form enctype="multipart/form-data" action="URL" method="post">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>

PHP 相关文章推荐
memcached 和 mysql 主从环境下php开发代码详解
May 16 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
PHP常见字符串操作函数与用法总结
Mar 04 PHP
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
Apr 01 PHP
如何利用PHP执行.SQL文件
Jul 05 #PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 #PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 #PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 #PHP
浅析PHP的ASCII码转换类
Jul 05 #PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 #PHP
PHP cdata 处理(详细介绍)
Jul 05 #PHP
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
js几个验证函数代码
2010/03/25 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
给Python入门者的一些编程建议
2015/06/15 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
如何在Python中编写并发程序
2016/02/27 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
创联软件面试题笔试题
2012/10/07 面试题
大学考试作弊检讨书
2014/01/30 职场文书
物流专员岗位职责
2014/02/17 职场文书
六年级学生评语
2014/04/22 职场文书
应届大学生自荐书
2014/06/17 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS