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中魔术变量__METHOD__与__FUNCTION__的区别

本文实例讲述了PHP中魔术变量__METHOD__与__FUNCTION__的区别,分享给大家供大家参考。具体分析如下: __METHOD__类的方法名(PHP 5.0.0 新加)。返回...

php通过exif_read_data函数获取图片的exif信息

php获取图片的exif信息,php自带一个exif_read_data函数可以用来读取图片的exif信息,代码来自php手册 <?php echo "test1.jp...

PHP共享内存使用与信号控制实例分析

本文实例讲述了PHP共享内存使用与信号控制。分享给大家供大家参考,具体如下: 共享内存 共享内存的使用主要是为了能够在同一台机器不同的进程中共享一些数据,比如在多个 php-fpm 进程...

PHP面向对象程序设计之命名空间与自动加载类详解

本文实例讲述了PHP面向对象程序设计之命名空间与自动加载类。分享给大家供大家参考,具体如下: 命名空间 避免类名重复,而产生错误。 <?php require_once...

php的curl封装类用法实例

本文实例讲述了两个php curl封装类的用法实例,这两个函数可以让我们非常的方便的使用php curl相关函数。分享给大家供大家参考。具体如下: 使用函数之前我们要需要把php cur...