Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Verzeichnissgrösse ermitteln, inkl. Unterverzeichnisse
radarin
GIHD mbH
  Geschrieben am: Do 25.05.2006, 18:03
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 429
Mitglied seit: 25.07.2004


Hallo Liste.
Im einer Bildergallery möchte ich gerne die Verzeichnissgrössen anzeigen. Also die Grössen eintelner Alben sowie die Grösse der kompletten Galerie. Ich sollte auf einen Verzeichniss verweisen können und dann die Grösse aller Dateien erhalten, inkl. Unterverzeichnisse. Bei der Suche hier im Forum bin ich nicht fündig geworden.

Gruss René

P.S., mit PHP
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
 
Peter Bucher
#2 Geschrieben am: Fr 26.05.2006, 08:59 (+14:56)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 160
Mitglied seit: 3.08.2004


Hallo Renè

Das Zauberwort heisst Rekursion!
In Google findest du dazu massenweise Material.


Gruss Peter


--------------------
Microsoft MVP - Visual Developer ASP / ASP.NET

http://www.aspnetzone.de/blogs/peterbucher/ - Auf den Spuren von .NET
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Top
PMEmail PosterUsers Website
Top
 
radarin
GIHD mbH
#3 Geschrieben am: Fr 26.05.2006, 10:22 (+01:23)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 429
Mitglied seit: 25.07.2004


Auf dieses Stichwort bin ich auch schon gestossen, hat mir aber noch nicht weitergeholfen...
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
eVolver
#4 Geschrieben am: Fr 26.05.2006, 13:01 (+02:38)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 298
Mitglied seit: 23.08.2004


Glück Du hast, Yoda zur Hand grad hat was ...

CODE

function get_folder_size($target, $output=false)
{
  $sourcedir = opendir($target);
  while(false !== ($filename = readdir($sourcedir)))
  {
      if($output)
      { echo "Processing: ".$target."/".$filename."<br>"; }
      if($filename != "." && $filename != "..")
      {
          if(is_dir($target."/".$filename))
          {
              // recurse subdirectory; call of function recursive
              $totalsize += get_folder_size($target."/".$filename, $exceptions);
          }
          else if(is_file($target."/".$filename))
          {
              $totalsize += filesize($target."/".$filename);
          }
      }
  }
  closedir($sourcedir);
  return $totalsize;
}


--------------------
Ständig auf der Suche nach neuen Aufträgen im Bereich Web-Development! >>> www.evolver.ch

www.britshop.ch - British food online!
Top
PMEmail PosterUsers Website
Top
 
Peter Bucher
#5 Geschrieben am: Fr 26.05.2006, 13:34 (+00:33)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 160
Mitglied seit: 3.08.2004


QUOTE (radarin @ Fr 26.5.2006, 10:22)
Auf dieses Stichwort bin ich auch schon gestossen, hat mir aber noch nicht weitergeholfen...


--------------------
Microsoft MVP - Visual Developer ASP / ASP.NET

http://www.aspnetzone.de/blogs/peterbucher/ - Auf den Spuren von .NET
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Top
PMEmail PosterUsers Website
Top
 
radarin
GIHD mbH
#6 Geschrieben am: Fr 26.05.2006, 18:02 (+04:27)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 429
Mitglied seit: 25.07.2004


Danke für Eure Hilfe, das Script von eVolver funktioniert perfekt. Mit etwas weiter suchen bin ich auf ein Script gestossen das die Anzahl Verzeichnisse und die Dateien zählt. Dieses habe ich um eionege Zeilen ergänzt, damit es auch die Dateigrössen zusammen zählt und die Grösse von Bytes in kb, MB oder GB umrechnet. Ist noch ganz interessant dies auf der Startseite der Webseite einzubauen.



CODE

<?PHP
 function count_file($dir)
   {

   // Ueberprueft ob das angegebene Verzeichnis existiert
   if(is_dir($dir))
     {
     $afile[directory]=0;
     $afile[file]=0;
  $afile[size]=0;

     chdir($dir);
     $handle=opendir(".");
     while($file=readdir($handle))
       {

       // Handelt es sich bei $file um ein Unterverzeichnis?
       if(is_dir($file) && $file!="." && $file!="..")
         {

         // directory um eins erhoehen
         $afile[directory]++;

         // rekursiver Aufruf mit aktuellem Verzeichnis
         $y=count_file($file);

         // Ergebnisse des rekursiven Aufrufs der Funktion zu
         // directory, file und size aufaddieren
         $afile[directory]+=$y[directory];
         $afile[file]+=$y[file];
   $afile[size]+=$y[size];
         }

       // Handelt es sich bei $file um eine Datei?
       if(is_file($file))
         {

         // file um eins erhoehen / dateigrösse addieren
         $afile[file]++;
   $afile[size] += filesize($file);
         }
       }

     // Verzeichnisstruktur zurueck gehen
     if(stristr($dir,"../")) chdir($_SERVER["DOCUMENT_ROOT"].substr($_SERVER["PATH_INFO"],0,strrpos($_SERVER["PATH_INFO"],"/")));
     elseif($dir!=".") chdir("../");

     closedir($handle);
     }

   return $afile;
 }

 
 
 
 
 function fs_convert ($datei, $nachkommastellen = 0) {
   $size = $datei;
   if($size >= 1073741824) {
   return round($size/(1073741824), $nachkommastellen)." GB";
   }

   if($size >= 1048576) {
   return round($size/(1048576), $nachkommastellen)." MB";
   }

   if($size >= 1024) {
   return round($size/(1024), $nachkommastellen)." KB";
   }

   return $size." Byte";
 }
 
 
 // Aufruf der Funktion
 $dir="./";
 $atest=count_file($dir);
 echo"<br>DIRECTORIES: ".$atest[directory];
 echo"<br>FILES: ".$atest[file];
 echo"<br>SIZE: ".$atest[size]." bytes";
 echo"<br>SIZE: ".fs_convert($atest[size], 2);


?>




Wer also auch mal nach meiner Frage suchen wird, soll hier fündig werden
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/12203

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Ort ermitteln ala y*o*u*p*o*r*n*.*c*o*m Sancheck 505 6 Mi 2.04.2008, 00:19
Preis für eine Domain ermitteln. Ronald Nickel 351 1 Di 19.06.2007, 12:55
Geodaten ermitteln ronnic 1330 12 Fr 12.01.2007, 14:32
AdSense Advertiser URL ermitteln ohne zu klicken Sandro Feuillet 445 1 Do 4.01.2007, 09:16
Marktwert ermitteln Tim 886 14 Fr 8.09.2006, 08:58
Herkunft ermitteln Daniel Cieslar 659 5 Mo 7.08.2006, 15:20
Dateiname ermitteln radarin 413 2 Mi 4.01.2006, 13:23
Auflösung ermitteln milkboy 1754 5 Mi 19.10.2005, 12:32
WAN IP per PHP ermitteln Alonso 2215 6 Do 13.10.2005, 18:32
Zufallszahlen ermitteln UweB 1971 7 Fr 5.08.2005, 14:00




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]