php 上传大文件原理,PHP文件上传的原理及实现

PHP文件上传详解:上传限制与处理
本文介绍了使用PHP进行文件上传的实现方式,包括HTML表单设置、PHP处理及文件属性设置。强调了MAX_FILE_SIZE在浏览器端的限制作用和PHP服务器端的upload_max_filesize配置。同时,展示了如何处理上传后的文件移动和权限设置,以及$_FILES数组的结构,帮助理解文件上传过程中可能出现的错误情况。

利用php的文件函数来实现上传

这段代码分为两个文件,一个为upload.html,一个是upload.php

以下为引用的内容:

upload.html

其中,

请注意

这是一个标签,我们要实现文件的上传,必须指定为multipart/form-data,否则服务器将不知道要干什么。

值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。

MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。

以下为引用的内容:

upload.php

$f=&$HTTP_POST_FILES['Myfile'];

$dest_dir='uploads';//设定上传目录

$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复

$r=move_uploaded_file($f['tmp_name'],$dest);

chmod($dest, 0755);//设定上传的文件的属性

或者

以下为引用的内容:

以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)

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

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

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

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

$_FILES['userfile']['error'] 和该文件上传相关的错误代码

值:0; 没有错误发生,文件上传成功。

值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

值:3; 文件只有部分被上传。

值:4; 没有文件被上传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值