Человекпонятный размер файла

13 Июля 2021 13:15

Функция автоматически подведет размер байт под удобный вид.

Получаем размер файла с помощью filesize() и передаем полученно значение в эту функцию

  1. B - байт
  2. K - килобайт
  3. M - мегабайт
  4. G - гигабайт
  5. T - терабайт
  6. P - пентабайт

Параметры:

  1. $bytes - целое число,
  2. $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