🔎

Перетворення байтів в кілобайти, мегабайти, гігабайти, терабайти

Дуже часто необхідно перетворити якусь величину (розмір файлу, пам'яті) в людський вигляд. Значення 1 Гб набагато гарніше виглядає ніж 1048576 Кб. Підкажіть, будь ласка, просту функцію перетворення байтів в кілобайти, мегабайти, гігабайти, терабайти.
php
1 відповідь
  • Дмитро
    Для початку розберемося з байтами та десятковою приставкою:

    - байт (B)

    - кілобайт (KB)

    - мегабайт (MB)

    - гігабайт (GB)

    Функція:
    function get_size($bytes) {
    if ($bytes < 1000 * 1024) {
    return number_format($bytes / 1024, 2)." KB";
    } elseif ($bytes < 1000 * 1048576) {
    return number_format($bytes / 1048576, 2)." MB";
    } elseif ($bytes < 1000 * 1073741824) {
    return number_format($bytes / 1073741824, 2)." GB";
    } else {
    return number_format($bytes / 1099511627776, 2)." TB";
    }
    }

    Виклик функції:
    echo get_size(12345678);
    // 11.77 MB
    echo get_size(10251);
    // 10.01 KB