Функция автоматически подведет размер байт под удобный вид.
Получаем размер файла с помощью filesize()
и передаем полученно значение в эту функцию
- B - байт
- K - килобайт
- M - мегабайт
- G - гигабайт
- T - терабайт
- P - пентабайт
Параметры:
- $bytes - целое число,
- $decimals - количество знаков после запятой (по умолчанию, 2)
<?php
function human_filesize($bytes, $decimals = 2) {
$sz = 'BKMGTP';
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
}
Пример
human_filesize(1545895) //1.47M