解析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 相关文章推荐
php5 mysql分页实例代码
Apr 10 PHP
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
PHP生成excel时单元格内换行问题的解决方法
Aug 26 PHP
一个简单的网页密码登陆php代码
Jul 17 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
详解php比较操作符的安全问题
Dec 03 PHP
php获取图片信息的方法详解
Dec 10 PHP
详解PHP实现执行定时任务
Dec 21 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHP levenshtein()函数用法讲解
Mar 08 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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
PHP实现简单日历类编写
2020/08/28 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
实例Python处理XML文件的方法
2015/08/31 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
Python标准库之collections包的使用教程
2017/04/27 Python
python文件名和文件路径操作实例
2017/09/29 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
python自动下载图片的方法示例
2020/03/25 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
玩具公司的创业计划书
2013/12/31 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
群众路线领导对照材料
2014/08/23 职场文书
西岭雪山导游词
2015/02/06 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技