При написании кода вы можете столкнуться с ситуацией, когда какая-либо функция, например memory_get_usage() возвращает результат своей работы в байтах.

Это число может оказаться слишком большим для того, чтобы его быстро понять, поэтому вам пригодится функция, которая конвертирует это число в более понятный человеку формат килобайт, мегабайт, гигабайт или терабайт.

// функция форматирует байты в человекопонятное представление
function format_bytes( $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); 

	// раскомментируйте одну из следующих строк
	$bytes /= pow(1024, $pow);
	//$bytes /= (1 << (10 * $pow)); 

	return round($bytes, $precision) . ' ' . $units[$pow]; 
} 

Функция принимает два параметра — количество байт $bytes и число $precision, означающее до какого знака после запятой округлять результат. Функция не выводит значение на экран, а возвращает значение для обработки, поэтому чтобы увидеть результат вам нужно написать:

echo format_bytes( $memory );

Эта функция также пригодится при расчете количества памяти, затраченного на выполнение какой-либо функции в php.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

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

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