PHP: filesize() - Die Größe einer Datei bestimmmen
Bei Downloads wird oft neben dem Link die Größe angegeben, um den Nutzer auf die vorraussichtliche Downloadzeit einzustellen.
Die Größe einer Datei lässt sich mit PHP ganz einfach ermitteln und ausgeben:
<?php
echo filesize("tl_files/cmde/downloads/beta/kou/Knight_of_Underworld_Beta4_setup.exe");
?>
1Der Code führt zu dieser Ausgabe:
Hinweis: Der Pfad funktioniert so natürlich nur in der Verzeichnisstruktur auf Computer-Masters.de
In den Anführungszeichen einfach den (relativen) Pfad der Datei eintragen.
Die Ausgabe erfolgt in Byte.
Das ist oft unpraktisch, da Nutzer Angaben in Megabyte gewohnt sind.
filesize() gibt aber eine Zahl zurück mit der sich auch rechnen lässt.
Ein Megabyte sind bekanntlich eine Million Bytes. Um die Angaben umzurechnen muss man also nur durch 1000000 teilen und die Einheit ergäzen:
<?php
$size = filesize("tl_files/cmde/downloads/beta/kou/Knight_of_Underworld_Beta4_setup.exe")/1000000;
echo "Die Datei ist $size MB groß!";
?>
1Der Code führt zu dieser Ausgabe:
Wie Sie die Ausgabe, die noch etwas lang und unübersichtlich zu lesen ist, runden können, erfahren Sie hier: PHP: round() - Zahlen runden
Hinweis: Bei Dateien >2GB gibt es aufgrund der Verwendung von Integern oft Probleme und filesize() ist hierfür nicht geeignet.
Gerundetete filesize ausgeben
Um die gerundetete Filesize auszugeben, muss man PHP round() die Filesize als Parameter übergeben und die gewünschte Anzahl der Nachkommastellen mit angeben.
Eine mögliche Umsetzung sieht so aus:
<?php
$size = round(filesize("BeispielDatei.exe")/1000000, 2);
echo "Die Datei ist $size MB groß!"
?>
1Da durch 1000000 geteilt wird, ist die Angabe als Megabyte aufzufassen.
Sie haben noch Fragen?
Nutzen Sie einfach die Kommentarfunktion, die Ihnen auch als unregistrierter Leser zur Verfügung steht!
Gerne wird Ihnen bei Fragen zum Artikel weiter geholfen! Wenn Sie vom Artikel abweichende Fragen haben, können Sie gerne das Forum verwenden!
Anzeige:

Kanal auf Youtube
Zum Seitenanfang
Kommentare
Kommentar von Anonym | 2012-03-06
danke sehr hilfreich!
funktionniert super.