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面向对象类型约束。分享给大家供大家参考,具体如下: 什么是类型约束 就是要求某个变量只能使用(接受,存储)某种指定的数据类型;php属于”弱类型语言“,通常不支持类型...

兼容PHP5的PHP目录管理函数库

主要能兼容: PHP 5 一、chdir -- 改变目录 语法:bool chdir ( string d...

PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析

一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread S...

PHP读取大文件末尾N行的高效方法推荐

小文件几兆以内大小,都可以通过file()函数,将文件按行读入数组,在用array_pop取得最后一行,就可以了。 但是对于很大的文本文件来说,机器内存不够大,或者php本身memory...

PHP、Nginx、Apache中禁止网页被iframe引用的方法

可以使用php或nginx等添加X-Frame-Options header来控制frame权限X-Frame-Options有三个可选的值: DENY:浏览器拒绝当前页面加载任何Fra...