Aktueller Standort: Startseite> Neueste Artikel> Wie konvertieren Sie den von disk_total_space zurückgegebenen Bytewert in GB oder MB? Detaillierte Erläuterung der Einheit Beschreibung

Wie konvertieren Sie den von disk_total_space zurückgegebenen Bytewert in GB oder MB? Detaillierte Erläuterung der Einheit Beschreibung

gitbox 2025-06-10

In PHP wird die Funktion disk_total_space () verwendet, um die Gesamtraumgröße der Festplatte zu erhalten, auf der sich der angegebene Pfad befindet, und der Rückgabewert Bytes. Normalerweise sehen wir eine sehr große Anzahl, und es ist schwierig, seine tatsächliche Größe intuitiv zu verstehen. Daher müssen wir Bytes in verständlichere Einheiten wie GB (Gigabyte) oder MB (Megabyte) umwandeln.

In diesem Artikel wird ausführlich erläutert, wie der von disk_total_space () in GB oder MB zurückgegebene Bytewert umwandelt und gemeinsame Konvertierungsbeziehungen für Einheiten erklärt wird.


1. Beschreibung der Byteeinheit

Die grundlegende Einheit der Computerspeicherkapazität ist Bytes (Byte). Gemeinsame Konvertierungsbeziehungen sind wie folgt:

  • 1 kb (Kilobyte) = 1024 Bytes

  • 1 MB (Megabyte) = 1024 kb = 1024 × 1024 Bytes = 1.048.576 Bytes

  • 1 GB (Gigabyte) = 1024 mb = 1024 × 1024 × 1024 Bytes = 1.073.741.824 Bytes

Es ist zu beachten, dass die Binärumwandlung (basierend auf 1024) hier und nicht die Dezimalzahl 1000 verwendet wird. Obwohl einige Festplattenhersteller auf dem Markt in Dezimalheit umgewandelt werden, werden sie normalerweise in 1024 in Computersystemen umgewandelt.


2. Codebeispiel: So konvertieren Sie Bytes in GB oder MB

Hier ist ein Beispielcode, der zeigt, wie der Gesamtscheibenraum in PHP gelesen und die Anzahl der Bytes in GB und MB umgewandelt wird:

<code> <? php $ path = '/'; // Der Pfad, den Sie abfragen möchten, kann bei Bedarf geändert werden

// Erhalten Sie den gesamten Speicherplatz in Bytes (Byte)
$ TotalByTes = disk_total_space ($ path);

// in GB konvertieren und zwei Dezimalstellen behalten
$ TOTHREGB = $ TOTHERBYTES / (1024 * 1024 * 1024);
$ TOTHREGBFORMATTED = number_format ($ THERGB, 2);

// in MB konvertieren und zwei Dezimalstellen behalten
$ TotalMB = $ TotalBytes / (1024 * 1024);
$ totalMbFormatted = number_format ($ TotalMB, 2);

Echo "Total Disk Space: {$ TotalBytes} Bytes <br>";
echo "ungefähr gleich: {$ TOTHREGBFORMATEDATED} GB <br>";
echo "ungefähr gleich sind: {$ totalMbFormatted} mb <br>";
?>
</code>

Im obigen Code:

  • disk_total_space () gibt die Anzahl der Bytes zurück

  • Geteilt durch 1024 * 1024 * 1024, um GB zu erhalten

  • Teilen Sie durch 1024 * 1024, um MB zu bekommen

  • Number_Format wird verwendet, um den Ausgang zu formatieren und zwei Dezimalstellen beizubehalten


3.. Fortgeschrittene: Umwandeln Sie die entsprechenden Einheiten automatisch um

Manchmal möchten wir nicht manuell angeben, ob es sich um GB oder MB handelt. Wir können eine einfache Funktion schreiben, die automatisch die entsprechende Einheit gemäß der Größe auswählt:

<Code> <? Php -Funktionsformatbytes ($ bytes, $ precision = 2) {$ units = ['bytes', 'kb', 'mb', 'gb', 'tb']; $ bytes = max ($ bytes, 0); $ pow = floor (($ bytes? log ($ bytes): 0) / log (1024)); $ pow = min ($ pow, count ($ Einheiten) - 1);
 $bytes /= pow(1024, $pow);

return round($bytes, $precision) . ' ' . $units[$pow];

}

$ path = '/';
$ TotalByTes = disk_total_space ($ path);
Echo "Der gesamte Speicherplatz ist:". formatbytes ($ TotalBytes). "<br>";
?>
</code>

Diese Funktion bestimmt automatisch die geeigneten Einheiten, indem sie den Logarithmus der Bytes und ausgibt freundlichere Ergebnisse.


4. Zusammenfassung

  • disk_total_space () gibt die Einheit von Bytes (Bytes) zurück

  • Bytes umgewandelt MB, geteilt durch 1024 × 1024

  • Bytes umgewandelt GB, geteilt durch 1024 × 1024 × 1024

  • Sie können Formatierungsfunktionen verwenden, um die Ergebnisse zu erleichtern

Wenn Sie die Konvertierung von Bytes in MB und GB beherrschen, können Sie den Speicherplatz intuitiver verstehen und es Ihnen erleichtern, den Raum während der Entwicklung anzuzeigen oder zu beurteilen.