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

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

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

$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 сек

Источник: https://www.kobzarev.com/programming/get-the-file-extension/

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

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: