Отримання розширення файла
Щоб правильно отримати розширення файла в 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-й спосіб самий універсальний і правильний в будь-якому варіанті.
Ну й на цьому все сьогодні.