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.
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.
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
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.
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.