Как получить расширение файла - PHP

  • Последнее обновление: 3 Апреля 2024 г.
  • Просмотры: 62
  • Автор: Админ
Как получить расширение файла - 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 возвращает последний элемент из этого массива, а последний элемент массива это как раз наше расширения.


 

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

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

php file extension


 

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

 

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

Yii2 - как отключить CSRF валидацию токена
Как сгенерировать случайное и уникальное число в PHP
Что такое JPEG формат, его особенности, плюсы и минусы
Yii2 Как установить подключение к базе данных MySQL/MariaDB