Как узнать размер файла в PHP

  • Последнее обновление: 3 Апреля 2024 г.
  • Просмотры: 21
  • Автор: Админ
Как узнать размер файла в PHP

Коллеги всем привет.

В сегодняшней статье мы поговорим о том как узнать размер файла в PHP.

Рано или поздно в своих приложениях вы столкнетесь с такой задачей как узнать размер файла. Существует очень много примеров почему мы должны узнавать размер файлов, и один из примеров может быть то когда вы или пользователь начинает загружать изображения или какой-нибудь файл на ваш сервер, и перед тем как начать загрузку этого файла можно включить условия проверки по максимальному размеру загружаемого файла.

В PHP есть два варианта как посмотреть размер файла, и мы сегодня их рассмотрим. 

 

В первом варианте мы будем использовать функцию filesize. Функция filesize принимает всего один обязательный параметр, это имя файл. Возвращает функция размер файла в байтах. В случаи ошибки возвращает FALSE и генерирует ошибку уровня E_WARNING.

php> filesize('it-inzhener.png');

php file size

В данном примере мы узнаем размер изображения it-inzhener.png, и в результате мы получили 105478 байтов.

Получать размер файла в байтах очень не удобно, и по этому можно сделать функцию, которая будет нам конвертировать байты в другие величины.

function getFilesize($filesize)
{
    if ($filesize > 1024) {
        $filesize = ($filesize / 1024);
        if ($filesize > 1024) {
            $filesize = ($filesize / 1024);
            if ($filesize > 1024) {
                $filesize = ($filesize / 1024);
                $filesize = round($filesize, 1);
                return $filesize . " GB";
            } else {
                $filesize = round($filesize, 1);
                return $filesize . " MB";
            }
        } else {
            $filesize = round($filesize, 1);
            return $filesize . " KB";
        }
    } else {
        $filesize = round($filesize, 1);
        return $filesize . " bytes";
    }
}

Функция принимает размер в байтах, и возвращает размер уже других величинах. Функция конвертирует байты в нужную величину, исходя из размера самого файла.

php file size


 

Следующим вариантом для получения размера файла можно воспользоваться специальным php классом который называется SplFileInfo. Для начала нам нужно создать объект этого класса и передать в его конструктор сам файл, потом нужно выполнить метод этого класса который называется getSize. Метод getSize возвращает размер файла тоже в байтах, а в случаи какой-нибудь ошибки вернет FALSE.

$splFile = new SplFileInfo('it-inzhener.png');
echo $splFile->getSize();

php file size


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

 

ПОХОЖИЕ СТАТЬИ

Как получить расширение файла - PHP
Yii2 - как отключить CSRF валидацию токена
Как сгенерировать случайное и уникальное число в PHP
Как узнать длину строки в PHP - strlen, mb_strlen