在文件上传中,我们经常会要求显 示用户上传文件大小,超过上传限制的文件就会不允许用户上传。虽然我们可以用程序去判断上传文件是否超过限制,但是其实我们的PHP程序是无法判断用户本 地文件大小的。所以等到我们的PHP来判断文件大小的时候,那个文件其实已经上传到服务器了。这时候再判断超过限制了,不允许上传。可就有点马后炮了。
  那么有没有办法在文件上传之前就判断将要上传的文件是否超过限制,不允许用户上传呢?答案是肯定的,只是经常被人们遗忘而已。这个办法不是在程序上解决的。而是使用html的标签解决的。

<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

将这段代码一定要放到文件提交框之前,就可以了。给个完整的例子如下:

<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>

使用了这个隐藏域之后,可以在用户提交之后,文件上传之前就进行限制判断,超过限制,马上做出$_FILES['error'] =2的错误。这样就可以避免等一个大文件传上服务器以后才发现超过限制了。这样既浪费了用户的表情,也浪费了我们的贷款。所以在这里,我ArthurXF 强烈建议大家在做文件上传的时候加上上面的限制,以提高用户的体验!

被人遗忘的MAX_FILE_SIZE文件上传限制大小参数的更多相关文章

  1. 使用plupload实现多文件上传,自定义参数

    下载地址:点击打开链接 1.在开发中可能需要用户附件上传的功能,实现批量上传功能其实就将多个上传任务放到一个集合中,分别上传. 2,使用plupload js插件可以很轻松的实现带参数的多文件上传 3 ...

  2. 关于B/S系统中文件上传的大小限制怎么做

    1.前端:采用flash控件或者Html5的特性(有浏览器版本要求)来判断文件大小.纯html或js是没法判断用户上传文件大小的. 2.nginx:服务器端的第一道防线,一般会有对上传文件做大小限制. ...

  3. struts2文件上传限制大小问题

    struts2默认文件上传大小为2M,如需改动默认大小,解决方法例如以下: <struts> <constant name="struts.multipart.maxSiz ...

  4. 利用百度编辑器和IIS限制文件上传的大小

    1.百度编辑器的大小限制 针对不同的文件类型限制大小 例如图片是imageMaxSize ,依次类推 /* 前后端通信相关的配置,注释只允许使用多行方式 */ {     /* 上传图片配置项 */ ...

  5. 设置nginx中文件上传的大小限制度

    通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_s ...

  6. SpringMVC使用MultipartFile文件上传,多文件上传,带参数上传

    一.配置SpringMVC 二.单文件与多文件上传 三.多文件上传 四.带参数上传 一.配置SpringMVC 在spring.xml中配置: <!-- springmvc文件上传需要配置的节点 ...

  7. ajax实现文件上传,多文件上传,追加参数

    1.html部分实现代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  8. 文件上传限制大小 dotnet/C#

    private void Button1_Click(object sender, System.EventArgs e) { if (File1.PostedFile != null) { //上传 ...

  9. struts2修改文件上传的大小

    那天写了一个web上传图片的程序,明明修改了上传文件的默认值(2M),可就是一直没有起作用 <action name="fileupload" class="upl ...

随机推荐

  1. kafka 集群安装过程

    1.下载需要的安装包 http://kafka.apache.org/downloads.html 本文使用的 Scala 2.9.2 - kafka_2.9.2-0.8.2.2.tgz (asc,  ...

  2. testlink1.9.3测试管理工具安装

    一.下载testlink1.9.3rar安装包 下载地址:http://download.csdn.net/download/u010082992/7678491 二.安装IIS 在Server 20 ...

  3. git读取配置文件的顺序

    a.查找系统配置文件: /etc/gitconfig 文件,该文件含有系统里每位用户及他们所拥有的仓库的配置值 b.查找用户配置文件:  ~/.gitconfig  文件 或者  ~/.config/ ...

  4. 017-Spring Boot AOP

    一.概述 面向切面编程,将业务代码与处理琐碎相关度少的代码隔离开.以便达到重用,解耦. 用途:日志记录.权限处理.性能统计.监控.事务处理.异常处理等 通知类型有:前置通知.后置最终通知.后置返回通知 ...

  5. 玩转NumPy数组

    一.Numpy 数值类型 1.前言:Python 本身支持的数值类型有 int(整型, long 长整型).float(浮点型).bool(布尔型) 和 complex(复数型).而 Numpy 支持 ...

  6. iOS学习之库

    一.什么是库 库是程序代码的集合,是共享程序代码的一种方式. 二.库的分类 根据源代码的公开情况,库可以分为2种类型. 1.开源库 公开源代码,能看到具体实现. 比如,SDWebImage.AFNet ...

  7. 爬虫基础库之Selenium

    1.简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作, ...

  8. 十位用户唯一ID生成策略

    新浪微博和twitter 等系统都有一窜数字ID来标示一个唯一的用户,这篇文章就是记录如何实现这种唯一数字ID 原理:使用MYSQL 自增ID 拼接任意字符..然后使用进制转换打乱规则 一般来说实现唯 ...

  9. ubuntu没有声音解决办法

    cd /usr/lib/dbus-1.0/ chmod +x dbus-daemon-launch-helper sudo gpasswd -a $USER audio sudo killall pu ...

  10. Django-虚拟环境设置

    Django 虚拟环境virtualenv virtualenv是用来处理多个用python语言进行开发的项目,在同一台机器上部署,不同项目依赖不同第三方库版本所造成的问题. 打个比方,现在你机器上要 ...