О web-разработке
и даже немного больше...

Объем данных в удобном формате на PHP

obem-dannyh-v-udobnom-formateОсновная единица измерения объема данных, которая довольно часто применяется на практике программирования это байты. Когда байты начинают превышать длину до мегабайтов, а то и до гигабайтов, то для визуализации целесообразно было бы использовать удобные для восприятия величины. К примеру, вы делаете страницу, на которой выводится список файлов, а в следующей колонке их размеры. Либо вы отображаете информацию о трафике, либо ещё что-нибудь, где указывается величина объема данных. Как правило, в программировании работа с величинами объема данных выполняется в байтах. Мы же рассмотрим пару примеров с простыми функциями, которые позволяют конвертировать величину размера данных из байтов, в удобный вид для восприятия человека.

Пример 1

function formatDataSize($size) {
	$arSizeName = array(" Bytes", " KB", " MB", " 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 мегабайта. Реализовать это не сложно, на нашем сайте есть пример, который демонстрирует склонение слова, в зависимости от числа стоящего перед ним, можно данным примером так же воспользоваться.
На этом пока всё, успехов в труде!

Опубликован: 24.11.2015 г.

См. также:

Редакторы кода для PHP
Как просмотреть время загрузки страницы в PHP?
Генерация QR-кода в PHP
Загрузка файлов на сервер посредством Ajax
Импорт записей из Excel в WordPress
Парсинг XML в PHP
Установка IonCube на XAMPP
Создание PDF файлов в PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта