disk_free_space

funkcja

Zwraca ilość wolnego miejsca na dysku w bajtach (float) dla podanego katalogu lub false przy błędzie.

disk_free_space(string $directory): float|false

disk_free_space (alias: diskfreespace) zwraca ilość wolnego miejsca na partycji, na której leży podany katalog. Wynik jest wartością float wyrażoną w bajtach. Przydaje się przed zapisem dużych plików lub jako element monitorowania serwera.

Dla czytelności przelicz bajty na bardziej przyjazne jednostki (KB, MB, GB). Sprawdź też disk_total_space, jeśli chcesz wyliczyć procent zajętości.

<?php
declare(strict_types=1);

$katalog = __DIR__ . '/uploads';

$wolne = disk_free_space($katalog);

if ($wolne === false) {
    exit('Nie można odczytać informacji o dysku.');
}

$wolneMB = round($wolne / 1_048_576, 2);
echo "Wolne miejsce: {$wolneMB} MB" . PHP_EOL;

// Ostrzeżenie, gdy zostało mniej niż 500 MB
if ($wolne < 500 * 1_048_576) {
    error_log('UWAGA: mało wolnego miejsca na dysku!');
    echo 'Ostrzeżenie: mało wolnego miejsca.' . PHP_EOL;
}