Как определить размер файла средствами PHP?
Создаём функцию PHP, определяющую размер файла
Функция будет довольно проста и понятна. Использует в себе три встроенные функции:
file_exists - проверка на наличие указанного файла или каталога.
filesize - определить размер файла. Возвращает результат в байтах. Если файл больше 2 Гб, то, в зависимости от сервера, может выводить некорректный результат.
round - встроенная функция, укорачивающая выводимое значения до целого числа и одной десятой после разделительного знака точки.
Функция проверяет наличие самого файла, затем последовательно пытается определить насколько велик размер файла - если больше 1024 байт, то результат следует выводить в Мб, если больше 1024 Мб, то следует выводить в Гб. А в конце каждого этапа встроенная функция round округляет результат с множества цифр до целого значения и одной десятой с разделительным знаком.
Теперь создаём файл функции. Подобные файлы принято содержать в отдельной папке. Например function.
Код PHP (файл function.php)
// аргументов функции будет путь к файлу function get_filesize($file) { // идем файл if(!file_exists($file)) return "Файл не найден"; // теперь определяем размер файла в несколько шагов $filesize = filesize($file); // Если размер больше 1 Кб if($filesize > 1024) { $filesize = ($filesize/1024); // Если размер файла больше Килобайта // то лучше отобразить его в Мегабайтах. Пересчитываем в Мб if($filesize > 1024) { $filesize = ($filesize/1024); // А уж если файл больше 1 Мегабайта, то проверяем // Не больше ли он 1 Гигабайта if($filesize > 1024) { $filesize = ($filesize/1024); $filesize = round($filesize, 1); return $filesize." ГБ"; } else { $filesize = round($filesize, 1); return $filesize." MБ"; } } else { $filesize = round($filesize, 1); return $filesize." Кб"; } } else { $filesize = round($filesize, 1); return $filesize." байт"; } }
Функцию мы создали. Далее остаётся её применить.
Код PHP
include_once "function/function.php"; // подключаем файл с функцией // вставляете путь или переменную с путём для обработки его функцией $size = get_filesize ('images/photo.jpg'); echo "Размер файла: ".$size.""; // выводим результат с размером
Всё готово! Пользуйтесь на здоровье!
Спасибо за внимание! И удачи в работе!
Комментарии