Как вывести расширение файла в php?

Пользователь

от adrien.waters , в категории: PHP , 2 года назад

Как вывести расширение файла в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от eryn.rodriguez , 2 года назад

@adrien.waters 

Вы можете использовать функцию pathinfo() для извлечения расширения файла из полного имени файла. Например:

1
2
3
4
$path = '/path/to/filename.txt';
$file_extension = pathinfo($path, PATHINFO_EXTENSION);

echo $file_extension; // выведет "txt"


Если вы хотите получить расширение файла, который был загружен через форму HTML, вы можете использовать функцию pathinfo() с переменной $_FILES['file']['name']. Например:

1
2
3
4
$file_name = $_FILES['file']['name'];
$file_extension = pathinfo($file_name, PATHINFO_EXTENSION);

echo $file_extension; // выведет расширение файла, загруженного через форму


Обратите внимание, что функция pathinfo() будет работать только тогда, когда файл имеет действительное расширение. Если расширение файла отсутствует, функция pathinfo() вернет пустую строку.

Пользователь

от ella , год назад

@adrien.waters 

Кроме функции pathinfo(), можно также использовать функцию strrchr(), чтобы получить расширение файла. Например:

1
2
3
4
$path = '/path/to/filename.txt';
$file_extension = strrchr($path, '.');

echo $file_extension; // выведет ".txt"


Версия с загрузкой файла через форму HTML будет выглядеть так:

1
2
3
4
$file_name = $_FILES['file']['name'];
$file_extension = strrchr($file_name, '.');

echo $file_extension; // выведет расширение файла, загруженного через форму


Оба варианта будут выводить расширение файла с точкой в начале (например, ".txt"). Если вы хотите удалить точку из расширения, вы можете использовать функцию substr() для удаления первого символа:

1
2
3
$file_extension = substr($file_extension, 1);

echo $file_extension; // выведет "txt"