如果文件夹大小超过10 GB,则限制上载

时间:2014-07-18 08:16:24

标签: php file-upload

我是PHP的新手,很抱歉,这个问题听起来很愚蠢。

我想知道当上传文件夹大小(不是文件大小)超过10 GB时,是否有办法通过PHP限制文件上传。如果有办法,你可以请我提供一个如何实现这一目标的概念。

我目前正在使用POST上传文件,上传文件夹位于Hostgator服务器上。

谢谢!

3 个答案:

答案 0 :(得分:0)

类似的问题已经回答here。只需检查目录大小,然后再将临时文件移入其中。你需要linux的答案,而不是windows的答案。

答案 1 :(得分:0)

以下代码将计算文件夹中所有文件的总大小,从而为您提供文件夹总大小

<?php
$path = "gal";
echo "Folder $path = ".filesize_r($path)." bytes";

function filesize_r($path){
   if(!file_exists($path)) return 0;
   if(is_file($path)) return filesize($path);
     $ret = 0;
     foreach(glob($path."/*") as $fn)
     $ret += filesize_r($fn);
     return $ret;
   }
 ?>

然后,您可以在上传之前构建一个if语句来检查文件大小,如果大于10gb,则提醒用户无法处理上传。

修改

IF语句看起来像这样

$filesize = filesize_r($path)

if $filesize > 10 000 000 000 {
    echo "Upload cannot be processed";
} else {
    uploadFile()
}

答案 2 :(得分:0)

首先检查目录大小,如this

然后检查文件大小:

$file_size = $_FILES['file']['size'];

然后检查文件是否适合并采取相应措施:

if (foldersize($path) + $file_size > "10000000000")
{
  Tell user it doesn't fit
}
else
{
  Upload file function
}