Heim >Backend-Entwicklung >PHP-Tutorial >Wie formatiere ich Bytes präzise in für Menschen lesbare Einheiten?

Wie formatiere ich Bytes präzise in für Menschen lesbare Einheiten?

Barbara Streisand
Barbara StreisandOriginal
2024-11-19 02:30:03738Durchsuche

How to Format Bytes into Human-Readable Units with Precision?

Bytes präzise formatieren

In verschiedenen Szenarien wird es notwendig, Bytewerte in für Menschen lesbare Einheiten wie Kilobyte, Megabyte, zu formatieren. und Gigabyte. Um beispielsweise Dateigrößen auf Webseiten anzuzeigen, müssen Bytes in die entsprechende Einheit formatiert werden.

Lösung: Verwenden einer Formatierungsfunktion

Eine effektive Lösung ist die Verwendung einer Formatierungsfunktion das nimmt Bytes als Eingabe und gibt die formatierte Zeichenfolge zurück. Hier ist eine Beispiel-PHP-Funktion, die dies erreicht:

Erklärung

Diese Funktion benötigt zwei Parameter:

  • $bytes: The Größe der Datei in Bytes
  • $precision: Die Anzahl der anzuzeigenden Dezimalstellen

Die Funktion verwendet ein Array $units, um die Einheiten (Bytes, Kilobytes, Megabytes, Gigabytes) darzustellen , und Terabyte). Sie berechnet die Leistung $pow, die die entsprechende Einheit darstellt, indem sie den Logarithmus von $bytes durch den Logarithmus von 1024 dividiert. Die maximale Leistung ist auf die höchste Einheit im Array begrenzt.

Die Funktion dividiert dann den Bytewert durch die entsprechende Leistung, um es in die gewünschte Einheit umzuwandeln. Abschließend wird der Wert auf die angegebene Genauigkeit gerundet und die entsprechende Einheit aus dem Array $units angehängt.

Wenn $bytes beispielsweise 5.222.937 beträgt, würde die Funktion ihn als „5,01 MB“ formatieren.

Das obige ist der detaillierte Inhalt vonWie formatiere ich Bytes präzise in für Menschen lesbare Einheiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn