Ordnergröße anzeigen mit Unterordner

mauricepre

Grünschnabel
Hallo,
ich möchte gerne das ich von allen ordner die größe anzeigen kann?

Beispiel:
[images] 500KB
[Images ?Kleine Bilder] 250KB
[Images ?Kleine Bilder ?Icons] 250KB


TOTAL 500KB


Den Code den ich habe macht nur:

images
Unterordner ?Kleine Bilder
Unterordner ?Unterordner ?Icons


PHP:
<?php
function tree($dir,$c) {
  $fp = opendir($dir);
  $ein="";
  for ($i=0;$i<$c;$i++) $ein.="Unterordner &rarr;";
  while($file = readdir($fp)) {
    if($file!="." && $file!="..") {
      if (!is_dir("$dir/$file")) $files[]=$file;
      else $dirs[]=$file;
    }
  }
  closedir($fp);
  if (isset($dirs)) {
    $dc=count($dirs);
    for ($i=0;$i<$dc;$i++) {
      print $ein.$dirs[$i]."<br>\r\n";
      chdir($dir);
      tree($dirs[$i],$c+1);
      chdir("..");
    }
  }
  if (isset($files)) {
    $dc=count($files);
    for ($i=0;$i<$dc;$i++) print $ein.$files[$i]."<br>\r\n";
  }
}
tree("ordner",0);
?>

Danke schon mal für alle Antworten!
 
habe diesen code getestet aber der klappt nicht

PHP:
<?php
  function get_size($path,$size)
    {
      if(!is_dir($path))
        {
          $size+=filesize($path);
        }
      else
        {
          $dir = opendir($path);
          while($file = readdir($dir))
            {
              if(is_file($path."/".$file))
                $size+=filesize($path."/".$file);
              if(is_dir($path."/".$file) && $file!="." && $file!="..")
                $size=get_size($path."/".$file,$size);
            }
        }
      return($size);
    }
 
  $size = get_size("directory",0);
  $measure = "Byte";
  if ($size >= 1024)
    {
      $measure = "KB";
      $size = $size / 1024;
    }
  if ($size >= 1024)
    {
      $measure = "MB";
      $size = $size / 1024;
    }
  if ($size >= 1024)
    {
      $measure = "GB";
      $size = $size / 1024;
    }
  $size = sprintf("%01.2f", $size);
  echo $size . " " . $measure;
?>

was mache ich da falsch?
 
Zurück