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

yipeiwu_com6年前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原生函数一定好吗?

PHP原生函数一定好吗?

今天在阅读kohana源码中的Arr类的时候发现了这样一个函数 复制代码 代码如下:  /**   * Fill an array with a range of n...

php split汉字

第一种办法: 加载 Encode模块,前提是你需要安装这个模块 例子代码: 复制代码 代码如下: $str=decode("gb2312",$names[$index]); @chars...

php下Memcached入门实例解析

本文较为详细的讲述了php下Memcached的入门知识与实例。分享给大家供大家参考。具体如下: memcache 在什么情况下被使用,什么情况下不要使用? 你在何时应该使用 m...

PHP计算指定日期所在周的开始和结束日期的方法

本文实例讲述了PHP计算指定日期所在周的开始和结束日期的方法。分享给大家供大家参考。具体实现方法如下: <html> <head> <title>...

浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)

实例如下: <?php /*分治法——直接选择 比如说a b c 首先将a之后的字符依次与a进行交换 1 b,a,c 2 c,b,a 注意这里少了一个原始数据 a,b,...