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

yipeiwu_com5年前PHP代码库
虽然你可以使用一个类似的技术以拒绝过大的文件(通过检查$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();控制您的浏览器cache!

【转载】原文地址:http://www.itbbs.cn/index.php?showtopic=1074    Output Control 函数可以让你自由控制脚...

wamp安装后自定义配置的方法

WampServer是目前应用非常广泛的PHP集成开发环境,本文就来讲述Wamp安装后自定义配置的方法。供大家参考借鉴。具体如下: wamp2.5安装完毕后,自己手动重新设置了apach...

PHP 通过Socket收发十六进制数据的实现代码

最近在php下做关于Socket通讯的相关内容,发现网络上好多人在了解如何进行16进制收发,研究了下,代码如下,欢迎拍砖。复制代码 代码如下:<?php  &n...

PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法

本文实例讲述了PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: <?php   &n...

PHP session_start()问题解疑(详细介绍)

本文,将这些问题,做一个简单的汇总,以便大家查阅。1.错误提示Warning: Cannot send session cookie - headers already sentWarn...