Подпись с указанием размера файла на php

Наверное, Вы часто видите на сайтах подпись с указанием размера файла. Данный показатель сам никто не подписывает. Этот вопрос решается написанием функции на php. В результате она будет выводить строчку вида:
Размер файла: 2.3 Мб
Очень удобно в случае скачивания каких-либо материалов с сайта.


filesize - определить размер файла. Возвращает размер указанного файла в байтах или FALSE в случае возникновения ошибки. Если файл больше 2 Гб, то, в зависимости от сервера, может выводить некорректный результат.

round - встроенная функция, укорачивающая выводимое значения до целого числа и одной десятой после разделительного знака точки.

Создаём функцию PHP, определяющую размер файла

$file = '/files/text.pdf'; // путь к файлу
function get_filesize($file)
  $Fbytes = filesize($file); //размер в байтах
  $precision = 2; //знаков от запятой
  $units = array('B', 'KB', 'MB', 'GB', 'TB'); //еденицы измерения
  $bytes = max($Fbytes, 0);
  $pow = floor(($bytes?log($bytes):0)/log(1024)); // округляет дробь в меньшую сторону
  $pow = min($pow, count($units)-1);
  $bytes /= pow(1024, $pow);
  return round($bytes, $precision).' '.$units[$pow];
}