Верх страницы
Логотип Telegram
@Злой_Полицейский — авторский канал вашего покорного слуги в Telegram, где я пишу заметки о веб-разработке, программировании, PHP, инструментах и WordPress.
Обложка к записи Форматирование строки с размером файла
Время для прочтения: 0 мин. 2 сек.

Форматирование строки с размером файла

Очень часто возникает необходимость рядом со ссылкой на файл вывести его размер в человекопонятном формате с указанием приставки по системе СИ

Собственно, сама функция

/* 
 * Форматируем строку с размеров файла 
 */ 
function formatSize($size) { 
	$units = array(' Б', ' Кб', ' Мб', ' Гб', ' Тб'); 
	for ($i = 0; $size >= 1024 && $i < 4; $i++) {
		$size /= 1024; 
	}

	return round($size, 2).$units[$i]; 
}

Использовать можно примерно так:

$filename = '/path/to/file'; 
if (is_file($filename)) { 
	printf( "Размер вашего файла %s: %s", basename($filename), formatSize(filesize($filename)) ); 
}

Другой вариант

Спасибо пользователю Ostin за наводку.

function formatSize($size) { 
	$filesizename = array( " Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB" ); 
	return $size ? 
		round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i] :
		'0 ' . $filesizename[0]; 
}

Ссылки

Автор: Кобзарёв Михаил

Суровый русский разработчик. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все.

Ведет блог о разработке, дайджест в телеграмме и в ВК.

Комментарии
Подписаться
Уведомить о
guest

2 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Ostin
Ostin
11 лет назад

Очень нравится сниппет http://snipplr.com/view/4633/

Предыдущая запись

Михаил Кобзарёв (mihdan)

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, фильмы и сериалы