Dans PHP, la fonction disque_total_space () est utilisée pour obtenir la taille totale de l'espace du disque où se trouve le chemin spécifié, et la valeur de retour est octet. Habituellement, ce que nous voyons est un très grand nombre, et il est difficile de comprendre intuitivement sa taille réelle. Par conséquent, nous devons convertir les octets en unités plus compréhensibles, telles que GB (gigaoctet) ou MB (mégaoctets).
Cet article expliquera en détail comment convertir la valeur d'octets renvoyée par disk_total_space () en GB ou MB, et expliquer les relations de conversion d'unité communes.
L'unité de base de la capacité de stockage de l'ordinateur est les octets (octets). Les relations de conversion d'unité communes sont les suivantes:
1 kb (kilobyte) = 1024 octets
1 Mo (mégaoctet) = 1024 kb = 1024 × 1024 octets = 1 048 576 octets
1 Go (gigaoctet) = 1024 Mo = 1024 × 1024 × 1024 octets = 1 073 741 824 octets
Il convient de noter que la conversion binaire (basée sur 1024) est utilisée ici, plutôt que la décimale 1000. Bien que certains fabricants de disques durs sur le marché se convertissent en décimal, ils sont généralement convertis en 1024 dans des systèmes informatiques.
Voici un exemple de code qui montre comment lire l'espace disque total en PHP et convertir le nombre d'octets en GB et MB:
<code> <? php $ path = '/'; // Le chemin que vous souhaitez interroger peut être modifié au besoin // Obtenez l'espace disque total en octets (octet)
$ totalbytes = disk_total_space ($ path);
// Convertir en GB, conservant deux décimales
$ totalgb = $ totalbytes / (1024 * 1024 * 1024);
$ totalGBFormatted = Number_Format ($ totalgb, 2);
// Convertir en MB, conservant deux décimales
$ totalmb = $ totalbytes / (1024 * 1024);
$ totalMBFormatted = Number_Format ($ totalmb, 2);
Echo "Space de disque total: {$ TotalBytes} octets <br>";
echo "Environ égal: {$ totalgbformatted} gb <br>";
Echo "Environ égal: {$ totalMBFormatted} MB <br>";
?>
</code>
Dans le code ci-dessus:
disk_total_space () renvoie le nombre d'octets
Divisé par 1024 * 1024 * 1024 pour obtenir GB
Divisez par 1024 * 1024 pour obtenir MB
Number_Format est utilisé pour formater la sortie, conservant deux décimales
Parfois, nous ne voulons pas spécifier manuellement s'il s'agit de GB ou MB. Nous pouvons écrire une fonction simple qui sélectionne automatiquement l'unité appropriée en fonction de la taille:
<code> <? PHP Fonction FormatBytes ($ bytes, $ précision = 2) {$ unités = ['bytes', 'kb', 'mb', 'gb', 'tb']; $ bytes = max ($ octets, 0); $ pow = plancher (($ octets? log ($ octets): 0) / log (1024)); $ pow = min ($ pow, count ($ unités) - 1); $bytes /= pow(1024, $pow);
return round($bytes, $precision) . ' ' . $units[$pow];
}
$ path = '/';
$ totalbytes = disk_total_space ($ path);
Echo "L'espace disque total est:". FormatBytes ($ TotalBytes). "<br>";
?>
</code>
Cette fonction détermine automatiquement les unités appropriées en prenant le logarithme des octets et obtient des résultats plus conviviaux.
disk_total_space () renvoie l'unité des octets (octets)
Octets convertis MB, divisé par 1024 × 1024
Octets convertis GB, divisé par 1024 × 1024 × 1024
Vous pouvez utiliser des fonctions de formatage pour rendre les résultats plus faciles à lire
La maîtrise de la conversion des octets en MB et GB vous aidera à comprendre l'espace disque plus intuitivement, ce qui vous permettra d'afficher ou de juger l'espace pendant le développement.