size_format()
Конвертує байти у зрозумілий для людини формат: 500 B , 63 KB , 9 MB , 2 GB , 1 TB .
Форматує розмір файлу у зрозумілий формат.
Всі розміри файлів в PHP зберігаються в байтах і виходять в них за допомогою filesize() або ще. Але набагато зручніше читати 1 KB ніж 1024 B.
Функція отримує кількість байтів та змінює їх на кількість:
- кілобайтів (KB)
- мегабайтів (MB)
- гігабайтів (GB)
- терабайтів (TB)
- петабайт (PB)
- екзабайт (EB)
- зеттабайт (ZB)
- йоттабайт (YB)
Також, слід пам’ятати, що максимальне число на 32-розрядних системах обмежене і дорівнює 2147483647, тоді як на 64-розрядній системі воно дорівнює 9223372036854775807. Тому, коли потрібно вказати число більше, ніж система може обробити, вказуйте число у вигляді рядка.
wp_convert_hr_to_bytes() — схожа функція, яка навпаки, перетворює скорочене байтове значення на ціле байтове значення. Наприклад, 1Mb
перетворений на 1048576
.
Використовуйте цю кастомну функцію , щоб перетворити велике число в вид , що читається 1500 >> 1,5 тыс.
.
number_format_i18n()
(дуже швидко) | 50000 разів – 0.11 сек
(дуже швидко) |
PHP 7.0.8, WP 4.6
Хуків немає.
Повертає
Строку|false
. Рядок або false, якщо не вдалося конвертувати.
Використання
size_format($bytes, $decimals);
-
$bytes
(число/рядок) (обов’язковий) - Число байт, які потрібно конвертувати. Майте на увазі, що в PHP є максимальний допустимий розмір для чисел і він малий в 32 розрядних системах.
-
$decimals
(число) -
Число цифр після коми.
За замовчуванням: 0
Приклади
#1 Демонстрація конвертації байтів
echo size_format(99); //> 99 B echo size_format(9999); //> 10 KB echo size_format( '9999'); //> 10 KB echo size_format(9999, 2); //> 9,76 KB echo size_format(9999999); //> 10 MB echo size_format(9999999999); //> 9 GB echo size_format(9999999999999); //> 9 TB
список змін
З версії 2.3.0 | Введено. |
З версії 6.0.0 | Додаток для PB, EB, ZB, і YB був приєднаний. |