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

Как узнать размер файла в 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 - Как убрать пробелы с начала и конца строки
PHP - Как убрать пробелы с начала и конца строки
WEB
Читать далее
PHP - форматирование даты. Функция date().
PHP - форматирование даты. Функция date().
WEB
Читать далее
PHP - Как определить часовой пояс - timezone
PHP - Как определить часовой пояс - timezone
WEB
Читать далее