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 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
Thinkphp中Create方法深入探究
Jun 16 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
Oct 16 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简介
2006/10/09 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
vue实现扫码功能
2020/01/17 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
python 基于opencv操作摄像头
2020/12/24 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
财务会计毕业生个人求职信
2014/02/03 职场文书
小区推广策划方案
2014/06/06 职场文书
预备党员转正材料
2014/12/19 职场文书
教师学期末个人总结
2015/02/13 职场文书
义卖募捐活动总结
2015/05/09 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android