Image type to mime type: примеры (PHP)
image_type_to_mime_type(int $image_type): stringФункция image_type_to_mime_type() возвращает MIME-тип для указанной константы типа изображения, полученной с помощью функций вроде exif_imagetype() или getimagesize(). Она применяется при обработке загружаемых файлов, динамической генерации HTTP-заголовков или валидации графических данных.
Функция принимает один обязательный параметр:
- $image_type — целое число (integer), представляющее одну из констант
IMAGETYPE_*(например, IMAGETYPE_JPEG, IMAGETYPE_PNG).
$type = IMAGETYPE_JPEG;
echo image_type_to_mime_type($type);image/jpeg
$mime = image_type_to_mime_type(IMAGETYPE_PNG);
var_dump($mime);string(9) "image/png"
$info = getimagesize('photo.gif');
$mime = image_type_to_mime_type($info[2]);
echo $mime;image/gif
mime_content_type() — определяет MIME-тип содержимого файла. Работает с любыми файлами, а не только с изображениями, но требует чтения файла с диска.
echo mime_content_type('document.pdf');application/pdf
finfo_file() из расширения Fileinfo — более мощная и современная альтернатива для определения MIME-типа. Рекомендуется для обработки непроверенных файлов.
$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo, 'image.png');image/png
Image type to mime type в Python
Библиотека imghdr или mimetypes.
import mimetypes
print(mimetypes.guess_type('photo.jpg')[0])image/jpeg
Модуль mime-types из NPM.
const mime = require('mime-types');
console.log(mime.lookup('png'));image/png
Image type to mime type в MySQL
Прямого аналога нет, но можно хранить MIME-типы как строки в таблицах.
echo image_type_to_mime_type(999);Warning: image_type_to_mime_type(): Invalid image type in ...
$result = image_type_to_mime_type('jpeg');
var_dump($result);string(24) "application/octet-stream"
В PHP 8.0.0 функция стала строго типизированной. Аргумент $image_type ожидает тип int. Передача нецелого значения приводит к фатальной ошибке TypeError.
// PHP 7: преобразование строки "1" в целое число 1
// PHP 8: ошибка TypeError$tmp_path = $_FILES['image']['tmp_name'];
$detected_type = exif_imagetype($tmp_path);
if ($detected_type && in_array($detected_type, [IMAGETYPE_JPEG, IMAGETYPE_PNG])) {
$mime = image_type_to_mime_type($detected_type);
header('Content-Type: ' . $mime);
readfile($tmp_path);
} else {
echo 'Недопустимый тип изображения';
}$types = [
IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG,
IMAGETYPE_WEBP, IMAGETYPE_BMP, IMAGETYPE_ICO
];
foreach ($types as $type) {
printf("%d -> %s
", $type, image_type_to_mime_type($type));
}1 -> image/gif
2 -> image/jpeg
3 -> image/png
18 -> image/webp
6 -> image/bmp
17 -> image/x-icon
$map = [];
for ($i = 1; $i <= 20; $i++) {
$mime = @image_type_to_mime_type($i);
if ($mime !== 'application/octet-stream') {
$map[$i] = $mime;
}
}
print_r($map);PHP image_type_to_mime_type function comments
- Php image type to mime type - аргументы и возвращаемое значение
- Функция php image_type_to_mime_type - описание
- image type to mime type - примеры
- image type to mime type - похожие методы на php
- image_type_to_mime_type на js, python, mysql
- image type to mime type изменения php
- Примеры image_type_to_mime_type на php