Gelegentlich kann es wichtig werden, zu wissen, wie viel Speicherplatz man noch auf der Festplatte des Webservers zur Verfügung hat. Gerade bei einer Internetpräsenz mit vielen Digitalfotos in voller Größe sind schnell die Grenzen der Kapazität erreicht.
Der folgende PHP-Schnipsel gibt die Gesamtgröße der Festplatte und den freien Speicherplatz darauf aus. Auch die im aktuellen Verzeichnis benutzte Kapazität wird angezeigt, das hilft zu erkennen, ob es wirklich die Fotos sind, oder ob ein anderer Bereich die Ressourcen belastet. Der Code dazu:
<?PHP
$path = „./“;
$free = round(disk_free_space ($path) / 1024 / 1024, 3);
$disk = round(disk_total_space ($path) / 1024 / 1024, 3);
printf (‚<p>Von insgesamt %s GB sind noch %s GB frei.</p>‘,
number_format ( $disk, 0, ‚,‘, ‚.‘),
number_format ( $free, 0, ‚,‘, ‚.‘)
);
define (‚_size‘, 4096);
function dir_size($DIR = FALSE) {
if ( ! $DIR OR ! is_dir($DIR)) return;
if (substr($DIR,-1) != „/“) $DIR .= „/“;
if ($d = dir($DIR)) {
$size = _size;
while ($n = $d->read()) {
if ($n == „.“ OR $n == „..“) continue;
$SIZE += (is_dir($DIR . $n))
? dir_size($DIR . $n) + $size
: ceil(filesize($DIR . $n) / $size) * $size;
}
$d->close();
}
return $SIZE;
}
printf(‚<p>Im Verzeichnis sind %s Bytes in Benutzung</p>‘,
dir_size(dirname(__file__)));
?>