Start · Sprachen · PHP · Referenz · diskfreespace

diskfreespace

Funktion

Alias von <code>disk_free_space()</code> — gibt den freien Speicherplatz eines Dateisystems oder einer Partition in Bytes zurück.

seit PHP 4.0.0 Kategorie: io

Signatur

diskfreespace(string $directory): float|false

Beschreibung

diskfreespace() ist ein direkter Alias der Funktion disk_free_space() und verhält sich identisch zu dieser. Sie ermittelt den verfügbaren freien Speicherplatz des Dateisystems, auf dem das angegebene Verzeichnis liegt, und gibt diesen als Gleitkommazahl in Bytes zurück.

Die Funktion eignet sich beispielsweise, um vor einem Datei-Upload oder einer Dateioperation zu prüfen, ob ausreichend Speicherplatz vorhanden ist. Da es sich um einen Alias handelt, empfiehlt die offizielle PHP-Dokumentation die Verwendung der kanonischen Funktion disk_free_space(), da Aliase in zukünftigen PHP-Versionen entfernt werden könnten.

Der übergebene Pfad muss ein gültiges, zugängliches Verzeichnis auf dem Server sein. Unter Windows kann auch ein Laufwerksbuchstabe wie 'C:' übergeben werden.

Parameter

Name Typ Default Beschreibung
$directory Pflicht string Pfad zu einem Verzeichnis auf dem Dateisystem, dessen freier Speicherplatz ermittelt werden soll. Unter Windows kann auch ein Laufwerksbuchstabe (z. B. 'C:') angegeben werden.

Rückgabewert

Typ
float|false
Beschreibung
Gibt den freien Speicherplatz in Bytes als Gleitkommazahl zurück. Bei einem Fehler (z. B. ungültiger oder nicht erreichbarer Pfad) wird false zurückgegeben.

Beispiele

Freien Speicherplatz des aktuellen Verzeichnisses ausgeben

<?php
$frei = diskfreespace('/');
if ($frei !== false) {
    // Bytes in Gigabyte umrechnen
    $freiGB = $frei / (1024 ** 3);
    echo 'Freier Speicherplatz: ' . number_format($freiGB, 2, ',', '.') . ' GB';
} else {
    echo 'Speicherplatz konnte nicht ermittelt werden.';
}
Freier Speicherplatz: 42,75 GB

Vor einem Datei-Upload prüfen, ob genug Platz vorhanden ist

<?php
$uploadVerzeichnis = '/var/www/uploads';
$benoetigterPlatz = 50 * 1024 * 1024; // 50 MB in Bytes

$freierPlatz = diskfreespace($uploadVerzeichnis);
if ($freierPlatz !== false && $freierPlatz >= $benoetigterPlatz) {
    echo 'Ausreichend Speicherplatz vorhanden. Upload erlaubt.';
} else {
    echo 'Nicht genug Speicherplatz. Upload verweigert.';
}
Ausreichend Speicherplatz vorhanden. Upload erlaubt.

// Wichtig · Fallstricke

Alias-Warnung: diskfreespace() ist ein Alias von disk_free_space(). Es wird empfohlen, stets die kanonische Funktion disk_free_space() zu verwenden, da Aliase in künftigen PHP-Versionen ohne Vorwarnung entfernt werden können.

Berechtigungen: Der PHP-Prozess muss Lesezugriff auf das angegebene Verzeichnis haben, andernfalls gibt die Funktion false zurück und erzeugt eine Warnung.

Rückgabetyp: Der Rückgabewert ist ein float, da Festplattenkapazitäten die Grenzen eines int überschreiten können. Verwende für die Anzeige number_format() oder ähnliche Funktionen.