Как получить расширение файла в PHP?

Возможный дубликат:
Как извлечь расширение файла в PHP?

Я хочу получить расширение файла изображения, которое я загружаю, но я просто возвращаю массив.

$userfile_name = $_FILES['image']['name']; $userfile_extn = explode(".", strtolower($_FILES['image']['name'])); 

Есть ли способ получить само расширение?

Solutions Collecting From Web of "Как получить расширение файла в PHP?"

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

 $path = $_FILES['image']['name']; $ext = pathinfo($path, PATHINFO_EXTENSION); 

Это также будет работать:

 $array = explode('.', $_FILES['image']['name']); $extension = end($array); 

Лучшим методом является использование strrpos + substr (быстрее, чем взрыв для этого):

 $userfile_name = $_FILES['image']['name']; $userfile_extn = substr($userfile_name, strrpos($userfile_name, '.')+1); 

Но, чтобы проверить тип файла, использование mime_content_type является лучшим способом: http://www.php.net/manual/en/function.mime-content-type.php

Вы можете попробовать с этим типом mime

 $image = getimagesize($_FILES['image']['tmp_name']); 

$image['mime'] вернет тип mime.

Эта функция не требует библиотеки GD. Здесь вы можете найти документацию.

Это возвращает тип mime изображения.

Некоторые люди используют $_FILES["file"]["type"] но он не является надежным, как он был указан браузером, а не PHP.

Вы можете использовать pathinfo() как ThiefMaster предложил восстановить расширение изображения.

Сначала убедитесь, что изображение загружается успешно во время разработки, прежде чем выполнять какие-либо операции с изображением.

Как насчет

 $ext = array_pop($userfile_extn);