Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Ankündigungen, News und Feedback > Tutorials > [PHP] Bytes in andere Einheiten umrechnen
Antwort
 
Themen-Optionen
Alt 18.03.2005, 07:39   Nach oben    #1
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.583
Standard [PHP] Bytes in andere Einheiten umrechnen

Wie kann ich mit PHP Bytes in andere Einheiten umrechnen?


Ich bin der Ansicht, dass wahrscheinlich 90% der Leute, die das hier lesen, wissen wie viele Bytes in einem Kilobyte stecken. Für den Rest .. es sind 1024 oder genau 2^10.

Ich stelle hier nun eine Funktion vor, die es mir ab und zu mal erleichtert eine Zusatzinformation auf einer Seite unterzubringen. Nichts Weltbewegendes ... aber praktisch ist es allemal

Wir machen uns also die Tatsache, dass 2^10 Bytes gerade 1 Kilobyte sind, zu Nutze und lassen das in die Funktion "bytesUmrechnen()" einfließen.

PHP-Code:
<?php

     
function bytesUmrechnen$bytes )
     {
         
$size '';

         if( 
$bytes >= pow(2,10) ) {
             if( 
$bytes >= pow(2,20) ) {
                 
$size number_format(($bytes pow2,20)), 2);
                 
$size .= ' MB';
             }
             else {
                 
$size number_format( ($bytes pow2,10)), 2);
                 
$size .= ' KB';
             }
         }
         else {
             
$size $bytes ' Bytes';
         }

         return 
$size;

     }

?>
Ich versuche wirklich immer so detailliert wie möglich zu beschreiben, was ich da mache ... aber hier benötigt es eigentlich nur einer kleinen Zusammenfassung

Der Übergabeparameter "$bytes" ist standardmäßig 0.
Folgender Aufruf
PHP-Code:
<?php

     bytesUmrechnen
();

?>
würde also
Code:
0 Bytes
als Ausgabe liefern.

Danach überprüfen wir welche Größenordnung der Übergabeparameter hat und stellen uns so die Ausgabe zusammen.

Das einzige, was man sich also merken sollte ist, dass 1 kb = 1024 Bytes = 2^10 Bytes.
Mit der Funktion number_format() formatiere ich die Ausage und die Division
Code:
($bytes / pow( 2, x)
wobei "x" je nach if-Zweig gewählt ist ja nun einfache Mathematik.

Das war es dann eigentlich auch schon alles

Eventuell hilft es ja dem ein oder andere mal weiter.


Solltet Ihr dennoch Fragen haben, so schreibt bitte einen Beitrag im PHP-Forum mit einem Verweis auf diesen Thread.


Grüße Ben.

Geändert von Jann Hendrik (27.06.2007 um 10:59 Uhr). Grund: intern-tag-Fehler manuell angepasst
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Diverses aus meinem Apache Logs robo47 Tools, Server, Betriebssysteme 3 25.05.2007 22:52
Ladezeiten ? CIX88 Plauderecke 39 07.11.2006 23:02
[PHP] Ein einfaches Template-System MrNiceGuy Tutorials 0 09.10.2005 18:30


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:50 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44