В данной заметке я покажу несколько способов на PHP, которые помогут узнать расширение файла. Все способы рабочие, а какой из них использовать на практике, решать вам исходя из поставленных задач.

$uploadImage = $_FILES['image'];           
$uploadImageName = trim(strip_tags($uploadImage['name']));
$uploadImageTmpName = trim(strip_tags($uploadImage['tmp_name']));

// Способ #1
$extension = pathinfo($uploadImageName, PATHINFO_EXTENSION);

// Способ #2
$extension = pathinfo(parse_url($uploadImageName, PHP_URL_PATH), PATHINFO_EXTENSION);

// Способ #3
$extension = substr($uploadImageName, strrpos($uploadImageName, '.') + 1);

// Способ #4
$extension = substr(strrchr($uploadImageName,'.'), 1);

Узнать расширение файла используя PHP функции

// Способ #1
function getExtension($filename) {
  return preg_replace('/^.*\.(.*)$/U', '$1', $filename);
}

// Способ #2
function getExtension($filename) {
  return preg_match('/\.(.*)$/U', $filename, $matches) ? $matches[1]: '';
}

// Способ #3
function get_file_extension($file_path) {
  $basename = basename($file_path); // получение имени файла
  if ( strrpos($basename, '.')!==false ) { // проверка на наличии в имени файла символа точки
    // вырезаем часть строки после последнего символа точки в имени файла
    $file_extension = substr($basename, strrpos($basename, '.') + 1);
  } else {
    // в случае отсутствия символа точки в имени файла возвращаем false
    $file_extension = false;
  }
  return $file_extension;
}

Узнать расширение файла используя класс PHP SplFileInfo

$file = new SplFileInfo($uploadImageName); $extension = $file->getExtension();