filesize

funkcja

Zwraca rozmiar pliku w bajtach jako int lub false przy błędzie. Nie działa na katalogach. Wyniki są buforowane.

filesize(string $filename): int|false

filesize zwraca rozmiar pliku wskazanego przez $filename wyrażony w bajtach jako liczbę całkowitą. Jeśli plik nie istnieje, jest katalogiem lub brak uprawnień do jego sprawdzenia, funkcja zwraca false i generuje ostrzeżenie E_WARNING. Na systemach 32-bitowych dla plików większych niż ~2 GB wynik może być niepoprawny — w takim przypadku użyj sprintf('%u', filesize($plik)) lub migruj na PHP 64-bitowy. Wyniki są buforowane przez PHP; wywołaj clearstatcache(), jeśli plik mógł zmienić rozmiar w trakcie działania skryptu.

<?php
declare(strict_types=1);

$plik = __DIR__ . '/backup.zip';

$rozmiar = filesize($plik);

if ($rozmiar === false) {
    echo 'Nie udało się odczytać rozmiaru pliku.';
} else {
    // Przelicz bajty na czytelną formę
    $czytelny = round($rozmiar / 1024 / 1024, 2);
    echo "Rozmiar pliku: {$czytelny} MB";
}