Last Update am Mi, 29 Apr 2020 13:19:41 +0200 by 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

--- Werbung ---
Vorheriger ArtikelRaumsonde BepiColombo fliegt auf dem Weg zum Merkur an der Erde vorbei
Nächster ArtikelRaspberry Pi 4 – Micro-SD-Karte + USB-Boot für SSD Laufwerke einrichten 1.0
Ich bin IT-Systemadministrator sowie Ausbilder für Mediengestalter und beschäftige mich seit vielen Jahren mit Elektronik, Computern, Technik und Wissenschaft. Auch das Programmieren ist für mich eine Passion. Meine Tätigkeit als freier Journalist und Redakteur erstreckt sich auf den Online- und Printbereich.

Github - Repositories
Github Gist - Snippets

HINTERLASSEN SIE EINE ANTWORT

Bitte geben Sie Ihren Kommentar ein!
Please enter your name here