Как узнать расширение файла средствами 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();
Предыдущая запись
Основы PHP 7 Часть #3: Пользовательские функцииСледующая запись
Основы PHP 7 Часть #4: Формы, Работа с формами