首页 > 解决方案 > 在php中计算一个文件夹中所有文件和所有目录的总和

问题描述

对于文件管理,我计算每个文件的大小和特定文件夹中的目录。我计算如下文件的大小:

 sizeFormat(filesize($dir . '/' . $file))

以及目录(包括子目录)的大小,如下所示:

sizeFormat(recursive_directory_size($dir . '/' . $file))

我现在如何计算该特定文件夹中所有文件和目录的总大小?

标签: php

解决方案


试试这个功能,我希望它是你需要的。

function dirsize($dir) {
 if(is_file($dir)) return array('size'=>filesize($dir));
  if($dh=opendir($dir)) {
    $size=0;
    $n = 0;
    while(($file=readdir($dh))!==false) {
        if($file=='.' || $file=='..') continue;
        $n++;
        $data = dirsize($dir.'/'.$file);
        $size += $data['size'];
    }
    closedir($dh);
    return array('size'=>$size);
  } 
   return array('size'=>0);
 }

print_r(dirsize("bitnami.css"));
print_r(dirsize("some_folder"));

推荐阅读