Як отримати розширення файлу - PHP

Як отримати розширення файлу - PHP

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

У сьогоднішній статті ми поговоримо про те, як можна в PHP визначити розширення файлу.

У вас у розробці дуже часто виникатиме завдання отримання розширення файлу наприклад при завантаженні файлу на сервер. При збереженні файлу на сервері є так само дуже часто завдання  зберігати файл не з вихідним ім'ям, а вказати в якості імені файлу унікальне значення щоб ім'я файлу не співпадало з іншими файлами на сервері.

Для вирішення цього завдання існує дуже багато різних варіантів, і я вам їх покажу. Як приклади я показуватиму всі дії на трьох файлах, перший файл це буде файлу з розширенням .txt, другий буде зображення з розширенням .png і третій варіант теж буде зображення, але з розширенням .jpeg.

 

Для зручності я використовуватиму змінні в яких будуть знаходитися імена файлів з якими ми будемо працювати і виходити їх розширення. Ще я створив функцію під назвою get_file_extension, в неї я поміщатиму код, який виводитиме розширення файлу в консоль.

php file extension


 

У першому варіанті отримання розширення файлу ми будемо використовувати функції mb_strtolowermb_substr. Функція mb_strtolower приймає як параметр рядок і переводить усі символи цього рядка в нижній регістр. Друга функція mb_substr приймає теж рядок і повертає частину рядка.

php> mb_strtolower(mb_substr(mb_strrchr($file_name, '.'), 1));

php file extension


 

Другий варіант - це використовувати функцію  pathinfo. Функція pathinfo повертає інформацію про файл у вигляді масиву таку як filename, basename, extension, dirname. Нам вся ця інформація зараз не важлива, ми хочемо отримати тільки розширення, для цього ми другим параметром можемо передати спеціальний прапор PATHINFO_EXTENSION які вказує на те щоб нам функція повернула тільки розширення файлу у вигляді рядка, а не всю інформацію у вигляді масиву. 

php> pathinfo($file_name, PATHINFO_EXTENSION);

php file extension


 

Наступний варіант отримання розширення файлу це використовувати функції  array_pop та explode.

php> array_pop(explode('.', $file_name));

php file extension

Спочатку функція explode розбиває рядок на масив по роздільнику, в даному випадку роздяглися у нас це точка, і після функція array_pop повертає останній елемент з цього масиву, а останній елемент масиву це якраз наше розширення.


 

Наступним варіантом для отримання розширення файлу ми будемо використовувати клас SpplFileInfo. Клас SplFileInfo має багато різних методів надання різної інформації про файл, нам потрібно використовувати один з його методів який називається getExtension.

php> $info = new SplFileInfo($file_name);
php> $info->getExtension();

php file extension


 

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

 

СХОЖІ СТАТТІ

PHP - Як прибрати прогалини з початку і кінця рядка
PHP - Як прибрати прогалини з початку і кінця рядка
WEB
Читати далі
PHP – форматування дати. Функція date().
PHP – форматування дати. Функція date().
WEB
Читати далі
PHP - Як визначити часовий пояс - timezone
PHP - Як визначити часовий пояс - timezone
WEB
Читати далі