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

 更新时间:2013年07月05日 17:23:11   作者:  
$_FILES: 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_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.

注:
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多文件上传功能实现原理及代码

    php多文件上传功能实现原理及代码

    对多图片上传功能小小的研究了一下,把下面的代码整理出来,方便以后使用,感兴趣的各位可以参考下哈,希望对你有所帮助
    2013-04-04
  • fgetcvs在linux的问题

    fgetcvs在linux的问题

    PHP5中的fgetcsv()函数在Linux上会有一个Bug:把文本字段的第一个字符的高位去除掉了,然后就会产生乱码
    2012-01-01
  • 通过PHP接入DeepSeek API的两种方法

    通过PHP接入DeepSeek API的两种方法

    本文介绍了如何通过PHP接入DeepSeek的API,包括使用cURL命令行工具和直接在PHP脚本中调用DeepSeek的RESTfulAPI,文章还提供了详细的步骤和示例代码,帮助用户将这些代码集成到他们的网站中,需要的朋友可以参考下
    2025-02-02
  • windows下配置apache+php+mysql时出现问题的处理方法

    windows下配置apache+php+mysql时出现问题的处理方法

    windows下配置apache+php+mysql应该是每个phper必须掌握的基础技能了,这也是熟悉php的一个过程,小编当年自己配环境的时候也遇到过这样那样的问题,现在把当时记录的几个问题的处理方法分享给大家
    2014-06-06
  • 处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题

    处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题

    本篇文章是对解决(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php通过Chianz.com获取IP地址与地区的方法

    php通过Chianz.com获取IP地址与地区的方法

    这篇文章主要介绍了php通过Chianz.com获取IP地址与地区的方法,是解析IP地址与地区非常实用的技巧,需要的朋友可以参考下
    2015-01-01
  • 利用PHP_XLSXWriter代替PHPExcel的方法示例

    利用PHP_XLSXWriter代替PHPExcel的方法示例

    PHPExcel是一个处理Excel,CVS文件的开源框架,但不幸的是PHPExcel官方已不再维护了这个项目了,官方团队在github上又起了一个新项目,叫PhpSpreadsheet。那么这篇文章主要给大家介绍了关于利用PHP_XLSXWriter代替PHPExcel的方法示例,需要的朋友可以参考下。
    2017-07-07
  • PHP如何获取命令行参数

    PHP如何获取命令行参数

    这篇文章主要介绍了PHP如何获取命令行参数,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    2021-05-05
  • php中使用临时表查询数据的一个例子

    php中使用临时表查询数据的一个例子

    使用临时表查询数据的一个例子,供大家学习参考
    2013-02-02
  • php使用curl代理实现抓取数据的方法

    php使用curl代理实现抓取数据的方法

    这篇文章主要介绍了php使用curl代理实现抓取数据的方法,结合实例形式分析了php使用curl实现代理抓取数据的操作技巧,需要的朋友可以参考下
    2017-02-02

最新评论