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

Barbara Streisand
Lepaskan: 2024-11-19 02:30:03
asal
674 orang telah melayarinya

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];
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan