PHP Ordner Größe Anzeigen

Hallo ich möchte in php ein Ordner berechen wie viel speicher er größ ist kann mir jemand helfen
Das script soll Dieses Verzeichnis messen /var/www/Vhost/galgenjunge/
Bitte um schnelle Anwort

ich meine, das macht diskfreespace(), ist aber auf bplaced deaktiviert

siehe:

jw-lighting.xe.cx/phpinfo.php

Ansonsten schau dir nochmal stat() an, ist jetzt aber echt nur grob gepeilt :wink:

xD SChaut das verzeichnis aus wie auf bplaced.net xD
Damit kann ich messen wie viel Ich insgemsamt verwende ich muss aber nur wissen wie viel ein ordner verwendet
Edit Zeigt An Wie viel speicher ich frei habe xD

Naja, net wirklich… :ps:

Dann sollte diskfreespace ja was für dich sein :wink:

Geht auch nicht Das habe ich schon mit allen 3 Befhlen probiert
Muss noch was anderes geben
es Zeigt Nur an wie viel noch frei ist

de.php.net/manual/de/function.di … -space.php

Was hälst du davon?
Bist du dir sicher, das die Funktion auf deinem Host funktioniert (frei ist)?

Mache es Anders

<?php $dir = "/var/www/Vhost/galgenjunge"; $do = opendir($dir); $size = 0; while($file = readdir($do)){ $size += filesize($dir."/".$file); } closedir($do); echo round($size/1024,2)." KB"; ?>

Muss es nur noch schaffen in MB um zurechen Dan habe ich mein script

Jetzt ermittelst du den belegten Speciherplatz. Das geht schneller mit:

$dir = ""; //Verzeichnispfad

function disk_used_space($dirpath){
if(!isset($dirpath) || empty($dirpath))
$dirpath = basename(__FILE__);

$used_space = disk_total_space($dirpath) - disk_free_space($dirpath);

return (INT) $used_space;
}

$belegt = disk_used_space($dir);

Nein ich ermittel die Ordner größe xD

Ja, du ermittelst die Größe des Ordners. Unter Ordnergröße verstehe ich auch dies.
Ist übrigens gleich mit belegtem Speicherplatz des Verzeicnisses :wink:

Wenn du aber fragst, “wie viel Speicher er groß ist”, meinst das, wieviel in den Ordner reinpassen würde.
Get wie gesagt auch schneller mit der geposteten Funktion :wink:

Naja Ich will Wissen Wie Groß der ordner ist also wie viel Der Speicher nimmt

genau das ermittelt die Funktion, die ich gepostet habe doch. allerdings ohne erst zeit und rechenaufwändig jede Datei lesen zu müssen :wink:

Sie zeigt an wie viel speicher auf der ganzen fesplate genutzt wird

Dies spuct das script aus
464306176

Naja, du solltest Verzeichnisspfad schon anpassen …

$dir = "/var/www/Vhost/galgenjunge"; //Verzeichnispfad // abgepasst ;-)

function disk_used_space($dirpath){
if(!isset($dirpath) || empty($dirpath))
$dirpath = basename(__FILE__);

$used_space = disk_total_space($dirpath) - disk_free_space($dirpath);

return (INT) $used_space;
}

$belegt = disk_used_space($dir);

Doof Bin ich nid ich habe das Angepasst

Dann müsste es eigentlich das selbe ergebnis sein, wie bei denem script, nur eben noch nichtr gerundet auf KBs :wink:

Ausgabe 464314368

Bedeutet, das du ca. 464MB in dem Verzeichnis belegt hast. Bei einem Server wird das kaum für die gnaze Festplatte gelten :ps:

DAs lutige ist das Das verzeichnis Noch nich mal 1mb groß ist

class File {

   protected $directorys = array();
   protected static $filesize = NULL;        

   public function getUsageMemory($path = "./") {
      
      $dir = opendir($path);
      
      while($file = readdir($dir)) {
         if($file != '.' && $file != '..') {
            if(is_dir($path.'/'.$file)) {
               $File = new File;
               $this->directorys[$file] = $File->getFilesize($path.'/'.$file);
            } else {
               self::$filesize += filesize($path.'/'.$file);
            }
         }
      }
      
      closedir($dir);
      
      return self::$filesize;
      
   }

}

versuch es mal damit, übergib der funktion einfach einen relativen oder absoluten pfad bzw. nix wenn du das verzeichnis scannen willst in dem das script ausgeführt wird. Die Funktion Scannt auch unterordner mit, aber achtung bei sehr vielen Dateien wird die Funktion langsam.