44 Stimmen

PHP: Dateigröße mit B, kB, MB, GB oder TB Einheit anzeigen

Tutorial von Progger99 | Letztes Update am 06.04.2021 | Erstellt am 29.06.2014

Heute möchte ich euch eine Funktion vorstellen, mit der man in PHP die Größe einer Datei anzeigen lassen kann.

Die Funktion sorgt dafür, dass die richtige passende Einheit (wie kB oder MB) gewählt wird und optional lassen sich eine beliebige Anzahl von Nachkommastellen angeben.

function show_filesize($filename, $decimalplaces = 0) {

  $size = filesize($filename);
  $sizes = array('B', 'kB', 'MB', 'GB', 'TB');

  for ($i=0; $size > 1024 && $i < count($sizes) - 1; $i++) {
     $size /= 1024;
  }
  return round($size, $decimalplaces).' '.$sizes[$i];

}

Ein Aufruf der Funktion kann zum Beispiel so aussehen:

echo show_filesize('text.txt');     // 12 kB
echo show_filesize('text.txt', 3);  // 12.345 kB
echo show_filesize('bigdata.txt');  // 89 TB

Als ersten Parameter übergeben wir den Dateinamen. Der zweite Parameter ist optional und lässt uns die Nachkommastellen einstellen.

Standardmäßig stehen die Nachkommastellen auf 0, dies lässt sich natürlich oben in der Funktion noch anpassen ($decimalplaces = 0). Auch der Array $sizes kann natürlich noch abgewandelt oder um andere Einheiten erweitert werden.

AntwortenPositivNegativDatumStimmen
11 Stimme

In der dritten code Zeile ist ein Fehler bei TB.
Es fehlt das Hochkomma, sonst gibt das Script einen Fehler aus.
13.01.2016 um 10:25

AntwortenPositiv Negativ
11 Stimme

Vielen Dank für den Hinweis.

War ein kleiner Tippfehler und ist jetzt korrigiert.
14.01.2016 um 01:40

Positiv Negativ
Antworten
Antworten

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

PHP: Upload großer Dateien

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.