Datenspeicherausgabe in PHP

woernersen

chronische Wohlfühlitis
Hallo zusammen,

ich hab da ne Idee udn zwar will ich in ner PHP-Datei anzeigen wie viel Platz in nem Ordner belegt sind, der auf meinem Server liegt. Also Beispielsweise habe ich ne Seite auf der ich anzeigen möchte wie viel Platz in dem Ordner 'daten' belegt sind.

Kann mri da jemand weiterhelfen oder vielleicht nene Script posten? Ich habe schon gegoogelt aber unter den Suchbegriffen die ich mir darunter vorstelle nichts gefunden.

Mit freundlichen Grüßen

Woernersen
 
Der erste Link war ok nur funktioniert das bei mir nicht! Ich stelle hier grad mal den Link dazu rein und den Quelltext meiner Ausgabe-Datei (ausgabe.php).

Hier der Link zum Fehler:
Ordnergröße ermitteln


Hier der Quelltext der Datei:
PHP:
<html>
<head>
       <title>Ordnergröße ermitteln</title>
<?
function dir_size($dir, $size = 0) {
    $handle = opendir($dir);

    while ($file = readdir($handle)) {
        if ($file == '.' || $file == '..') continue;

        $full_path = $dir.$file;

        if (is_dir($full_path)) {
            $size = dir_size($full_path.'/', $size);
        } else {
            $size += filesize($full_path);
        }
    }

    closedir($handle);

    return $size;
}
?>
</head>
<body>
<?
$path = "./images";
$size = dir_size($path);
echo "<p>Der Ordner $path belegt insgesamt $size Bytes.</p>";
?> 
</body>
</html>

Greez Woernersen
 
Super funktioniert danke! Was muss ich denn machen um den Speicher in MByte anzugeben auf zwei Kommastellen?

Greez
 
nach:

PHP:
$size = dir_size($path);

folgendes einfügen:

PHP:
function byte_calculation($bytes) {
      if ($bytes > pow(2,10)) {
         if ($bytes > pow(2,20)) {
            $size = number_format(($bytes / pow(2,20)), 2);
            $size .= " MB";
            return $size;
         }
         else {
            $size = number_format(($bytes / pow(2,10)), 2);
            $size .= " KB";
            return $size;
         }
      }
      else {
         $size = (string) $bytes . " Bytes";
         return $size;
      }
   }

Zeile:

PHP:
echo "<p>Der Ordner $path belegt insgesamt $size Bytes.</p>";

ändern in:

PHP:
echo "<p>Der Ordner $path belegt insgesamt byte_calculation($size).</p>";
 
Guten Abend zusammen,

also irgendwie geht das immernochnicht richtig Jim Duggan. Hier der Link nochmal Ordnergröße ermitteln Trotzdem vielen Dank werde das halöt dementsprechend formatieren und dann muss das auch gehen.

Falls du doch noch Lust hast, oder auch wer anders am liebsten wäre es mir so:

' Der Ordner XY belegt 56,35 Mbyte Speicher '


Die Ausgabe des Speichers ist dabei wichtiger der Text an sich, den kann ich auch selbst in den Quelltext wurschdeln, aber beim Anderen kenne ich mich halt keinen Fatz aus.

Danke nochmal. Greez Woernersen
 
Hier bittesehr:

PHP:
<html>
<head>
       <title>Ordnergröße ermitteln</title>
<?
function dir_size($dir, $size = 0) {
    $handle = opendir($dir);

    while ($file = readdir($handle)) {
        if ($file == '.' || $file == '..') continue;

        $full_path = $dir.$file;

        if (is_dir($full_path)) {
            $size = dir_size($full_path.'/', $size);
        } else {
            $size += filesize($full_path);
        }
    }

    closedir($handle);

    return $size;
}
?>
</head>
<body>
<?
$path = "./images/";
$size = dir_size($path);
function byte_calculation($bytes) {
      if ($bytes > pow(2,10)) {
         if ($bytes > pow(2,20)) {
            $size = number_format(($bytes / pow(2,20)), 2);
            $size .= " MB";
            return $size;
         }
         else {
            $size = number_format(($bytes / pow(2,10)), 2);
            $size .= " KB";
            return $size;
         }
      }
      else {
         $size = (string) $bytes . " Bytes";
         return $size;
      }
   }  
echo "<p>Der Ordner $path belegt insgesamt byte_calculation($size).</p>"; 
?> 
</body>
</html>
 
Sorry mein Fehler :angel

PHP:
echo "<p>Der Ordner $path belegt insgesamt byte_calculation($size).</p>";

ändern in:

PHP:
echo "<p>Der Ordner $path belegt insgesamt ".byte_calculation($size).".</p>";
 
Ich hab zu dem Thema noch en Frage und zwar, wie kann ich das " ./bilder/ " in meienr ausgabe.php als "bilder" anzeigen lassen??? Muss ich da ja das $path anders definieren oder?
 
Moin..

Ersetze in echo " ... " das $path mit $spath und setze als neue Zeile davor:
PHP:
$spath = str_replace("./", "", $path);
$spath = str_replace("/", "", $spath);

Das ist allerdings sehr quick und dirty, funktioniert trotzdem.

LG
 
Sry, wenn ich das alte Topic ausgrabe, aber ich such auch so n Script nur dass es mir die Auslastung für den ganzen Server, also Root + alle Subdirs + Dateien anzeigt.

Zwar wenn ich den Pfad nach
Code:
$path = "./";
ändere bekomme ich ca. 165 MB, aber meine Anfrage an das Supportteam wurde beantwortet mit ca. 180 MB, und das war schon ein paar Tage her und ich hab seit dem einiges hochgeladen...

Plus, die Datei gibt nen Fehler aus wenn sie auf sich selbst zugreift.
URL: Ordnergröße ermitteln
 
Oben