资讯专栏INFORMATION COLUMN

php中$_FILES变量的用法

CollinPeng / 1966人阅读

摘要:经由文件上传而提交至脚本的变量。已上传文件的大小,单位为字节。文件被上传后在服务端储存的临时文件名,一般是系统默认。是在版本中增加的。值上传的文件超过了中选项限制的值。在使用包含文件上传控件的表单时,必须使用该值。

$_FILES: 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息可参阅 POST 方法上传。

①$_FILES数组内容

$_FILES["myFile"]["name"] 客户端文件的原名称。

$_FILES["myFile"]["type"] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。

$_FILES["myFile"]["size"] 已上传文件的大小,单位为字节。

$_FILES["myFile"]["tmp_name"] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定。

$_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 选项指定的值。(我们可以在form表单中指定input type="hidden" name="MAX_FILE_SIZE" value="附件的最大字节数")
UPLOAD_ERR_PARTIAL 值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE 值:4; 没有文件被上传。

②文件的上传过程

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

用form上传文件时,一定要加上属性内容 enctype="multipart/form-data",否则用$_FILES[filename]获取文件信息时会报异常。

  

> > >

默认地,表单数据会编码为"application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为"+" 加号,特殊符号转换为 ASCII HEX 值)。

application/x-www-form-urlencoded 在发送前编码所有字符(默认)

multipart/form-data 不对字符编码。 在使用包含文件上传控件的表单时,必须使用该值。

text/plain 空格转换为 "+" 加号,但不对特殊字符编码。

本文源自转载!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20802.html

相关文章

  • composer 自动加载

    摘要:自动加载是指在代码中,不需要显式地使用文件路径将类库文件包含进来,便可使用该文件中定义的类库。在里是这样进行配置的按照的规则,当试图自动加载这个时,会去寻找这个文件。最后,只要在项目中你所需要的所有类库都会在适当的时候自动载入。 Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer...

    alighters 评论0 收藏0
  • PHP代码审计总结

    摘要:尽量使安全措施对用户透明,或采用用户熟悉的方式。比如在用户访问受控信息前需要输入用户名和密码来确认身份。跟踪数据数据从哪来,要到哪去在代码审计中,主要检查代码中与外部交互的部分。注意真实环境中可能会有用户自定义的函数,根据实际情况进行判断 ...

    Amio 评论0 收藏0
  • dedecms v5.8 未授权RCE 漏洞

    摘要:开放重定向错误本身无法进一步攻击攻击者,如果没有小工具链,小工具链,则无法触发反序列化错误。在从被称为执行一个带返回结果的语句,如,等语句安全检查和前版本仅做了的过滤,对等语句并未过滤。我决定看一看,我发现以下沉没 在这篇博文中,我将分享对 Dedecms(或翻译成英文的Chasing a ...

    blair 评论0 收藏0
  • Linux Command 系列:Tree

    摘要:撒花会将一个目录的所有内容以树状图的格式列出来。这是一个非常整齐简洁且实用的程序,你可以再命令行中使用它来查看你的文件系统的结构。类似下面的图表只显示目录,且层级不超过层。输出如下额外显示目录和文件的读写权限。 Linux 命令可以用浩瀚如烟来形容,那怎么办呢,我也很绝望啊,平时工作接触到的也就那么几个命令,那就平时自己多攒点,关键时候用上了就是物超所值 :) 最近想学的东西一大堆,今...

    BoYang 评论0 收藏0
  • PHP 性能分析与实验(二)——PHP 性能微观分析

    摘要:性能分析与实验性能的宏观分析在上一篇文章中,我们从是解释性语言动态语言和底层实现等三个方面,探讨了性能的问题。在开始分析之前,我们得掌握一些与性能分析相关的函数。二性能分析则下面我们根据小程序来验证一些常见的性能差别。 【编者按】此前,阅读过了很多关于 PHP 性能分析的文章,不过写的都是一条一条的规则,而且,这些规则并没有上下文,也没有明确的实验来体现出这些规则的优势,同时讨论的也侧...

    Airy 评论0 收藏0

发表评论

0条评论

CollinPeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<