Отримання розширення файла
Щоб правильно отримати розширення файла в PHP, потрібно вміти обробляти три особливих випадки:
- Шлях не має зайвих символів, але файл без розширення
- Шлях має зайві символи, наприклад
/home/test.d/test.txt
- Шлях має зайві символи, а у файла немає розширення, наприклад
/home/test.d/test
// Перший спосіб: function get_extension($file){ substr(strrchr($file, '.'), 1); } // Другий спосіб: function get_extension($file){ return substr($file, strrpos($file, '.')+1); } // Третій спосіб: function get_extension($file){ return end(explode('.', $file)); } // Четвертий спосіб: function get_extension($file){ $info = pathinfo($file); return $info['extension']; } // П'ятий спосіб: function get_extension($file){ return pathinfo($file, PATHINFO_EXTENSION); }
Перші чотири методи мають різні проблеми. Вочевидь, що методи 1-й і 2-й не зможуть обробити 3-й випадок, а 3-й не зможе правильно обраблять перші два.
4-й може опрацювати все правильно, а в разі того, якщо розширення відсутнє, видасть попередження. I лише 5-й спосіб самий універсальний і правильний в будь-якому варіанті.
Ну й на цьому все сьогодні.