Essah (13.04.2014)
-
13.04.2014, 19:36 #1
- Registriert seit
- 08.01.2012
- Beiträge
- 279
- Blog Entries
- 1
Thanked 69 Times in 45 PostsGröße einer Datei lesbar ausgeben
Hallo! Ich habe eine Seite Programmiert wo man Dateien runterladen kann. Auf der Seite möchte ich hinschreiben wie groß die Datei ist bevor man sie herunterladen kann. Wenn ich mir das mit filesize("Datei.zip") hole bekomme ich ja Bytes. Ich habe es versucht eine Funktion zu machen die das je nach Größe besser lesbar ausgibt:
PHP-Code:function MacheDateigroesseLesbar($Dateigroesse)
{
$lesbar = "";
if($Dateigroesse < 1000)
{
$lesbar = round($Dateigroesse,1)."Byte";
}
else
{
$kilobytes = $Dateigroesse/1000;
if($kilobytes < 1000)
{
$lesbar = round($kilobytes, 1)."KiloBytes";
}
else
{
$megabytes = $kilobytes/1000;
if($megabytes < 1000)
{
$lesbar = round($megabytes,1)."MegaByte";
}
}
}
return $lesbar;
}
PS: Bin noch Anfänger!
-
13.04.2014, 19:38 #2
AW: Größe einer Datei lesbar ausgeben
-
The Following User Says Thank You to Baumstumpf For This Useful Post:
-
13.04.2014, 19:49 #3
- Registriert seit
- 08.01.2012
- Beiträge
- 279
- Blog Entries
- 1
Thanked 69 Times in 45 PostsAW: Größe einer Datei lesbar ausgeben
Danke, aber das verstehe ich nicht ganz.
PHP-Code:$bytes = max($bytes, 0);
PHP-Code:$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
-
17.04.2014, 09:46 #4Gelöschter BenutzerGast
AW: Größe einer Datei lesbar ausgeben
Das max() hat irgendwas damit zu tun, dass signed ints nur maximal ein Value von (2^31)-1 haben können, max returned mixed values (sprich float, double, ...); brauch man aber afaik nicht mehr (die Stackoverflow Antwort ist von 2010).
Logarithmus ist ne ganz einfache Rechenoperation wie + und -, schau dir am besten im Internet irgendeine Seite an die das erklärt, kann hier im Forum glaube ich keiner besser.
Wenn du eine simplere Funktion möchtest, ohne Logarithmen und co. damit du es evtl. verstehst:
PHP-Code:function FormatBytes($bytes) {
$units = array('B', 'KB', 'MB', 'GB', 'TB');
$output = $bytes; $i = 0;
while($output > 1024) {
$output = ($output / 1024);
$i++;
}
return sprintf('%s %s', $output, $units[$i]);
}
-
The Following User Says Thank You to Gelöschter Benutzer For This Useful Post:
Essah (19.04.2014)
Ähnliche Themen
-
C# Gerundete Zahl ausgeben
Von Gast78236 im Forum AndereAntworten: 5Letzter Beitrag: 06.11.2013, 23:04 -
Hyperlink einer HTML Datei?
Von x BoooM x im Forum HTMLAntworten: 2Letzter Beitrag: 08.11.2012, 17:49 -
Wie erstelle ich aus einer Videodatei eine GIF Datei ?
Von h00r4y im Forum TutorialsAntworten: 0Letzter Beitrag: 12.04.2012, 11:05 -
WinXP \$Secure ist beschädigt und nicht lesbar - CHKDSK.
Von Bazs im Forum WindowsAntworten: 2Letzter Beitrag: 11.04.2012, 21:05 -
[PHP] Geladene Bilder ausgeben
Von Gelöschter Benutzer im Forum PHPAntworten: 1Letzter Beitrag: 03.03.2012, 16:50
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.