Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memformat Bait menjadi Unit Boleh Dibaca Manusia dengan Ketepatan?

Bagaimana untuk Memformat Bait menjadi Unit Boleh Dibaca Manusia dengan Ketepatan?

Barbara Streisand
Barbara Streisandasal
2024-11-19 02:30:03671semak imbas

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

Memformat Bait dengan Ketepatan

Dalam pelbagai senario, adalah perlu untuk memformatkan nilai bait ke dalam unit yang boleh dibaca manusia seperti kilobait, megabait, dan gigabait. Contohnya, memaparkan saiz fail pada halaman web memerlukan pemformatan bait kepada unit yang sesuai.

Penyelesaian: Menggunakan Fungsi Format

Satu penyelesaian yang berkesan ialah menggunakan fungsi pemformatan yang mengambil bait sebagai input dan mengembalikan rentetan yang diformat. Berikut ialah contoh fungsi PHP yang mencapai ini:

function formatBytes($bytes, $precision = 2) {
    $units = array('B', 'KB', 'MB', 'GB', 'TB');

    $bytes = max($bytes, 0);
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
    $pow = min($pow, count($units) - 1);

    // Uncomment one of the following alternatives
    // $bytes /= pow(1024, $pow);
    // $bytes /= (1 << (10 * $pow));

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

Penjelasan

Fungsi ini mengambil dua parameter:

  • $bytes: The saiz fail dalam bait
  • $precision: Bilangan tempat perpuluhan untuk paparan

Fungsi menggunakan tatasusunan $units untuk mewakili unit (bait, kilobait, megabait, gigabait dan terabait). Ia mengira kuasa $pow yang mewakili unit yang sesuai dengan membahagikan logaritma $bait dengan logaritma 1024. Kuasa maksimum dihadkan pada unit tertinggi dalam tatasusunan.

Fungsi kemudian membahagikan nilai bait dengan kuasa yang sesuai untuk menukarkannya kepada unit yang dikehendaki. Akhir sekali, ia membundarkan nilai kepada ketepatan yang ditentukan dan menambahkan unit yang sepadan daripada tatasusunan $units.

Sebagai contoh, jika $bytes ialah 5,222,937, fungsi akan memformatkannya sebagai "5.01 MB".

Atas ialah kandungan terperinci Bagaimana untuk Memformat Bait menjadi Unit Boleh Dibaca Manusia dengan Ketepatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn