filesize în PHP

Returnează dimensiunea unui fișier, în octeți.

Sintaxă
filesize(string $filename): int|false

Ce face filesize

filesize spune câți octeți ocupă un fișier. Pentru afișare către utilizatori, transformi numărul în KB sau MB.

PHP ține minte pentru scurt timp informațiile despre fișiere. Dacă alt program modifică fișierul în timp ce scriptul rulează, apelează clearstatcache() înainte de filesize, ca să primești valoarea nouă.

Parametri

Parametru Descriere
$filename Calea fișierului.

Ce returnează

Dimensiunea în octeți, sau false (cu avertisment) dacă fișierul nu există.

Exemple

Exemplul 1: Dimensiunea unui fișier text

Literele cu diacritice ocupă câte 2 octeți în UTF-8, așa că „Iași” are 5 octeți, nu 4.

<?php
file_put_contents("oras.txt", "Iași");

echo filesize("oras.txt") . " octeți";

Rezultat

5 octeți

Exemplul 2: Dimensiune ușor de citit

<?php
function dimensiune(int $octeti): string
{
    $unitati = ["B", "KB", "MB", "GB"];
    $i = 0;
    while ($octeti >= 1024 && $i < count($unitati) - 1) {
        $octeti /= 1024;
        $i++;
    }
    return round($octeti, 1) . " " . $unitati[$i];
}

file_put_contents("mare.txt", str_repeat("a", 2500000));

echo dimensiune(filesize("mare.txt")) . "\n";
echo dimensiune(800);

Rezultat

2.4 MB
800 B

Greșeli frecvente

  • Apelezi filesize pe un fișier care nu există și primești Warning: filesize(): stat failed. Verifică întâi cu is_file.
  • Folosești filesize pe o adresă web. Funcția nu funcționează cu https://.

Comenzi înrudite

  • filemtime: Returnează momentul ultimei modificări a unui fișier, ca timestamp.
  • file_exists: Verifică dacă un fișier sau un director există pe disc.
  • fread: Citește un număr dat de octeți dintr-un fișier deschis.