如何在php中允许有限大小的文件上传?
Posted
技术标签:
【中文标题】如何在php中允许有限大小的文件上传?【英文标题】:How to allow limited size file upload in php? 【发布时间】:2014-09-11 18:49:53 【问题描述】:我有一个网站托管在我无法访问的 PC 上。我有一个上传表单,允许人们上传最大 30MB 的文件。我的服务器端脚本是用 php 完成的。那么我如何在 php 中设置大小限制?
【问题讨论】:
您可以检查文件的大小。如果超过30MB,请勿上传 你必须在 php.ini 文件中改变 【参考方案1】:你可以用它来限制你的文件大小..
ini_set("post_max_size", "30M");
ini_set("upload_max_filesize", "30M");
ini_set("memory_limit", "20000M");
【讨论】:
【参考方案2】:在 PHP 中获取文件大小是通过以下方式完成的
$filesize = $_FILES['file']['size'];
这里可以获取文件大小,也可以查看要限制的大小
if($filesize<yourmaxsize)
//do something
如果您希望上传 30MB 的文件大小,那么 有一些称为最大大小的东西,通常可以上传它是 2MB 我想你可以去 php.ini (配置文件)并将其大小更改为 30MB 或 50MB,无论你想要什么大小
【讨论】:
【参考方案3】:在你的php配置文件php.ini中,有一个名为upload_max_filesize的参数,你可以把这个值改成你想要的。这将影响您的所有 php 应用程序。
【讨论】:
【参考方案4】:尝试在 php.ini 文件中增加以下值,例如:
memory_limit = 99M
max_execution_time = 300
upload_max_filesize = 30M
post_max_size = 24M
【讨论】:
【参考方案5】:if(isset($_FILES['uploaded_file']))
$maxsize = 2097152;
if(($_FILES['uploaded_file']['size'] >= $maxsize) || ($_FILES["uploaded_file"]))
//alert for large size
【讨论】:
你可以使用 $_FILES['uploaded_file']['size'] 来限制图片大小 ..其中uploaded_file 是图片标签的名称 如果有人上传 10 个文件,每个文件 2GB,该怎么办?也许应该应用一些post_max_size
或upload_max_filesize
?
这不允许任何事情,它会检查大小以便可能给出警告并且不回答“如何设置大小限制”的问题。以上是关于如何在php中允许有限大小的文件上传?的主要内容,如果未能解决你的问题,请参考以下文章
php中允许的内存大小为33554432字节耗尽(尝试分配43148176字节)