大容量上传文件判断

上传文件判断,关键的无非文件大小,类型判断

 

1.文件类型判断

  

   1)客户端判断

      通过js,判断文件后缀名实现。

   2)服务器断判断

      通过取得$_FILES ['image']['type']进行判断.

 

2.文件大小判断

   最简单的方法,在文件域前加入hidden域max_file_size,通知浏览器

经过测试,浏览器会在文件上传前对文件大小进行判断,通过$_FILES['userfile']['error']

返回值进行判断

$_FILES['userfile']['error'] 和该文件上传相关的错误代码
值:0; 没有错误发生,文件上传成功。
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
值:3; 文件只有部分被上传。
值:4; 没有文件被上传。

 

经测试,ie6,firefox3均可实现

上传文件 a.jpg<1m

上传文件 b.jpg>1m

 

我将$_FILE 打出来

Array ( [userfile] => Array ( [name] => a.jpg [type] => image/jpeg [tmp_name] => C:/WINDOWS/Temp/php1A0.tmp [error] => 0 [size] => 41423 ) )

Array ( [userfile] => Array ( [name] => b-myjpnc-box.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) )

 

可以看出$_FILES['userfile']['error'] 是在临时文件未生成时就可以得到的,因此可以通过此方法来检测文件大小,避免长时间的等待

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值