Як дізнатися розмір файлу в PHP

  • Останнє оновлення: 3 Квітня 2024 р.
  • Перегляди: 23
  • Автор: Адмін
Як дізнатися розмір файлу в 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


 

Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.

 

СХОЖІ СТАТТІ

Yii2 - як відключити CSRF валідацію токена
PHP - Як визначити часовий пояс - timezone