21.4 C
Münster
Mittwoch, 6. Juli 2022, 16:11:55 CEST +02:00

PHP: Wie kann ich Bytes in ein lesbares Format (KB, MB, GB, …) konvertieren?

image_pdfimage_print

Letztes Update am Sa, 25 Dez 2021 12:34:24 +0100 von Andreas Potthoff


Ich brauchte die Anzahl der Bytes in einem lesbaren Format mit 2 Stellen nach dem Komma und habe folgende logarithmische Funktion verwendet. Hier wird der Binärpräfix (Basis 2) und nicht der Dezimalpräfix (Basis 10) verwendet, obwohl das nicht ganz korrekt ist. Wer es korrekt haben möchte ändert einfach den Parameter zu $base=1000. Für mich ist ein Kilobyte immer noch 1024 Bytes. Festplattenhersteller sehen das manchmal unterschiedlich, wo ein Terrabyte (TB) mal 1.000.000.000.000 Bytes und mal (TiB) 1.099.511.627.776 Bytes sind.


Dezimalpräfixe:                                  Binärpräfixe:

Kilobyte (kB) 1000 = 103                    Kibibyte (KiB) 1024 = 210


PHP Funktion:

// convert bytes format
function format_Bytes($size,$level=0,$precision=2,$base=1024) 
{
    if ($size === '0' || $size === null) {
            return "0 B";
        }
  else
    $unit = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB','YB');
    $times = floor(log($size,$base));
    return sprintf("%.".$precision."f",$size/pow($base,($times+$level)))." ".$unit[$times+$level];
}

Links:

Github Gist: https://gist.github.com/ElectroDrome/374b42422452561faacbde047300ff45

Wikipedia: https://de.wikipedia.org/wiki/Byte

image_pdfimage_print
Andreas Potthoffhttps://electrodrome.net
Admin & Computer-Nerd

Wenn Sie mich unterstützen möchten, verwenden Sie bitte die Amazon-Links in den Artikeln (wenn vorhanden), um Ihren Einkauf zu starten. Es entstehen keine zusätzlichen Kosten für Sie, aber ich bekomme eine kleine Provision, um diesen Blog am Leben zu erhalten. Oder verwenden Sie hier den Paypal- oder Amazon Wunschlisten-Link um mich zu unterstützen. Vielen Dank!
Paypal Spende | Wunschliste | Github - Repositories | Github Gist - Snippets
--- Werbung ---

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

--- Werbung ---

Letzte Artikel