Я некоторое время смотрел в документации по PHP, но не нашел способа конвертировать расширение типа MIME в расширение типа файла.
image_type_to_extension
Кажется, работает, если файл является изображением. В моем конкретном случае типы mime не для изображений, они предназначены для типов шрифтов: 'otf, ttf'.
Вы можете использовать что-то вроде:
function getExtension ($mime_type){ $extensions = array('image/jpeg' => 'jpeg', 'text/xml' => 'xml' ); // Add as many other Mime Types / File Extensions as you like return $extensions[$mime_type]; }
Примечание. Не каждый тип MIME имеет фиксированное расширение файла. Кроме того, типы MIME, такие как application/octet-stream
могут ссылаться на несколько расширений файлов.
Сначала получите тип $ mime для изображения, затем взорвите строку с помощью '/', которая вернет массив.
$extension = explode('/', $mime )[1];
Не уверен, что он всегда вернет правильное расширение файла, но вы можете использовать pathinfo (), чтобы получить расширение от имени файла, а не конвертировать mime_types.
$Extension = pathinfo(basename($_FILES['image']['name']), PATHINFO_EXTENSION); echo $Extension;