php中让上传的文件大小在上传前就受限制的两种解决方法


Posted in PHP onJune 24, 2013

虽然你可以使用一个类似的技术以拒绝过大的文件(通过检查$uploadedfile_size变量),但是通常这不是一个好主意。在得到这个变量之前,这个文件已经被上载并保存在temp目录中。如果你试图因为磁盘容量或者是带宽的原因拒绝文件的上载,事实上那个大文件还是被上载了(尽管它们立即又被删除了),这对于你来说也许是个问题。

更好的方法是,你可以提前告诉php你希望可以接受的文件的大小的上限。
有两个方法。
第一个是调整你的php.ini文件中的upload_max_filesize设置。
默认值是2mb,所以如果你想要接受更大的文件,你需要立即改变这个值。

第二个方法是在你的表单中包含一个隐含input域,它的名字是max_file_size,在其中你可以定义你所能接受的最大的文件的大小。出于安全的原因,这个值不能超过你的php.ini文件中的upload_max_filesize的设置,但是它提供了一种方法在不同页面中各自定义上载文件大小的上限。例如,下面的表单,只允许我们最大上载1k字节的文件(1024字节):

<form action="fileupload.php" method=post 
enctype="multipart/form-data"> 
<p>select file to upload: 
<input type=file name="uploadedfile"></p> 
<p><input type=submit name="submit" value="submit"></p> 
<input type=hidden name=max_file_size value=1024> 
</form>

PHP 相关文章推荐
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
php将csv文件导入到mysql数据库的方法
Dec 24 PHP
Laravel 5框架学习之表单验证
Apr 08 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 PHP
php TP5框架生成二维码链接
Apr 01 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 #PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 #PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 #PHP
解析PHP中ob_start()函数的用法
Jun 24 #PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 #PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 #PHP
解析crontab php自动运行的方法
Jun 24 #PHP
You might like
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
javascript import css实例代码
2008/07/18 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
Python2.x中文乱码问题解决方法
2015/06/02 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
python 深度学习中的4种激活函数
2020/09/18 Python
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
刮痧观后感
2015/06/05 职场文书
未婚证明范本
2015/06/15 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书