Основна одиниця виміру обсягу даних, яка досить часто застосовується на практиці програмування це байти. Коли байти починають перевищувати довжину до мегабайтів, а то й до гігабайтів, то для візуалізації доцільно було б використовувати зручні для сприйняття величини. Наприклад, ви робите сторінку, на якій відображається список файлів, а у наступній колонці їх розміри. Або ви отображаете інформацію про трафік, або ще що-небудь, де вказується величина обсягу даних. Як правило, в програмуванні робота з величинами обсягу даних виконується в байтах. Ми ж розглянемо кілька прикладів з простими функціями, які дозволяють конвертувати величину розміру даних з байтів, у зручний вид для сприйняття людини.

Приклад 1

function formatDataSize($size) {
$arSizeName = array(” Bytes”, “KB”, “МБ”, “GB”, “TB”, “PB”, “EB”, “ZB”, “YB”);
return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $arSizeName[$i] : ‘0 Bytes’;
}
echo formatDataSize(1024);
// виведення: 1 KB

Дана функція перевірена і використовується на декількох мною вже тривалий час працює точно і без збоїв, тому її можна брати і використовувати. Однак якщо вона вам здається нечитабельной, то для вас є інший аналогічний приклад, але більш наочний.

Приклад 2

function formatDataSize($bytes = 0){
$type = array(“”, “Kilo”, “Mega”, “Giga”, “Tera”, “Peta”, “Exa”, “Zetta”, “Yotta”);
$i=0;
while($bytes >= 1024){
$bytes/= 1024;
$i++;
}
$bytes = round($bytes, 2);
return($bytes.” “.$type[$i].”Bytes”);
}
echo formatDataSize(1024); // виведення: 1 KiloBytes

Принципово ця функція не сильно відрізняється від попередньої, ви можете використовувати будь-яку з них, яка вам більше підходить. Глобально щось в ній змінювати, напевно, вам не знадобиться, за винятком можливо написання величин російською мовою. При написанні величин російською мовою, швидше за все вам знадобиться схиляти слово, в залежності від числа, наприклад: 1 мегабайт, 2 мегабайти. Реалізувати це не складно, на нашому сайті є приклад, який демонструє відмінювання слова, в залежності від числа, що стоїть перед ним, можна даними прикладом так само скористатися.
На цьому поки все, успіхів у праці!

Додав: htmaker, 24.11.2015 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Пісочниця для PHP
Рубрика: PHP, Інструменти

Конфіг файли
Рубрика: PHP

Установка XCache в Linux CentOS
Рубрика: Linux, PHP

Використання SOAP в PHP
Рубрика: PHP

Встановлення PHP Soap на CentOS
Рубрика: Linux, PHP

Транслітерація символів на PHP
Рубрика: PHP

Як перетворити URL-рядок в масив?
Рубрика: PHP

Добірка шаблонів регулярних виразів
Рубрика: PHP

Як дізнатися реальний IP-адресу клієнта в PHP
Рубрика: PHP