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

yipeiwu_com7年前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 PDO的一些认识小结

1、PDO(PHP Data Object)扩展为PHP定义了一个访问数据库的轻量、持久的接口。实现PDO接口的每一种数据库驱动都能以正则扩展的形式把各自的特色表现出来。 主要:PDO扩...

php ob_flush,flush在ie中缓冲无效的解决方法

PHP程序的缓冲,而不论PHP执行在何种情况下(CGI ,web服务器等等)。该函数将当前为止程序的所有输出发送到用户的浏览器。 flush() 函数不会对服务器或客户端浏览器的缓存模式...

php MessagePack介绍

1,今天在hacknews上看到很多人对messagepack的争论。首先了解什么是MessagePack:MessagePack is a binary-based efficient...

php 数组的指针操作实现代码

/** * 将数组的内部指针倒回一位 * @param array &$arr * @return mixed 返回前一个单元的值,当没有更多单元时返回 FALSE * 如果数组包含空的...

php $_SESSION会员登录实例分享

php $_SESSION会员登录实例分享

php会员登录模块是网站开发中很简单的一个模块,本实例主要给php初学者一个简单的参考,其中的逻辑还是要读者自己领会,多编多思考。 login.php文件 <?php...