PHP文件上传处理(1)POST 方法上传

Note: 相关的设置,请参阅 php.ini 的 file_uploadsupload_max_filesizeupload_tmp_dirpost_max_size 以及 max_input_time 设置选项。

一、文件上传表单

       可以如下建立一个特殊的表单来支持文件上传:

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

以上范例中的 __URL__ 应该被换掉,指向一个真实的 PHP 文件。

MAX_FILE_SIZE 隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP 也会检查此项。在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。实际上,PHP 设置中的上传文件最大值是不会失效的。但是最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。

Note:

要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了。


二、全局数组$_FILES 

       全局变量 $_FILES 自 PHP 4.1.0 起存在,此数组包含有所有上传的文件信息。

       我们假设文件上传字段的名称如上例所示,为 userfile(名称可随意命名)。

  • $_FILES['userfile']['name'] — — 客户端机器文件的原名称。

  • $_FILES['userfile']['type'] — —  文件的 MIME 类型,如果浏览器提供此信息的话。

  • $_FILES['userfile']['size'] — — 已上传文件的大小,单位为字节。

  • $_FILES['userfile']['tmp_name'] — — 文件被上传后在服务端储存的临时文件名。

  • $_FILES['userfile']['error'] — — 文件上传相关的错误代码。[PHP官方]

文件被上传后,默认地会被储存到服务端的默认临时目录中,除非 php.ini 中的 upload_tmp_dir 设置为其它的路径。





php.net

转载于:https://my.oschina.net/yonglei/blog/294564

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值