Как узнать расширение файла средствами PHP
В данной заметке я покажу несколько способов на 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();