Верх страницы
Логотип Telegram
@Злой_Полицейский — авторский канал вашего покорного слуги в Telegram, где я пишу заметки о веб-разработке, программировании, PHP, инструментах и WordPress.
Обложка к записи Получить расширение файла
Время для прочтения: 0 мин. 11 сек.

Получить расширение файла

Получить расширение файла в РНР задача не сложная и способов ее решения существует масса.

Давайте попробуем рассмотреть несколько возможных вариантов.

$filename = 'имя файла';

// 1 способ
echo end(explode('.', $filename));

// 2 способ
echo array_pop(explode('.', $filename));

// 3 способ
echo substr(strrchr($filename, '.'), 1);

// 4 способ
echo substr($filename, strrpos($filename, '.') + 1);

// 5 способ
echo pathinfo($filename, PATHINFO_EXTENSION);

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

Что касается скорости

Все варианты дают примерно одинаковый результат. Чтобы сравнить все возможные варинаты по скорости, заведём цикл на 70000 оборотов и замерим. В результате получим:

  • Вариант 1 — 0.7333430 сек
  • Вариант 2 — 0.7562270 сек
  • Вариант 3 — 0.5981759 сек
  • Вариант 4 — 0.711136 сек
  • Вариант 5 — 0.6780031 сек

Автор: Кобзарёв Михаил

Суровый русский разработчик. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все.

Ведет блог о разработке, дайджест в телеграмме и в ВК.

Комментарии
Подписаться
Уведомить о
guest

4 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Maxim
Maxim
13 лет назад

А что по поводу скорости? Зачастую приходится получать не один десяток расширений.

Maxim
Maxim
13 лет назад
Ответить на  Кобзарёв Михаил

Спасибо, тут дело не в хостинге. Этот участок кода критичен в PHP-GTK приложении, знаю, что эту технологию считают дикостью.

Предыдущая запись
Следующая запись

Михаил Кобзарёв (mihdan)

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, фильмы и сериалы