Получить информацию об изображении из строки в кодировке base64
У меня есть base64 закодированная строка (закодированная из изображения).
$str = "......";
Q: Как получить информацию закодированного изображения?
Подобно,
1) Название изображения.
2) Тип MIME.
3) Расширение изображения.
4) Размер изображения.
Я пытаюсь ниже код из этого URL, но он дает только тип MIME, а не другую информацию.
$encoded_string = "....";
$imgdata = base64_decode($encoded_string);
$f = finfo_open();
$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);
Большое спасибо.
1 ответ
Вы можете получить информацию об изображении, используя PHP getimagesizefromstring
функция.
$encoded_string = "....";
$imgdata = base64_decode($encoded_string);
$data = getimagesizefromstring($imgdata);
print_r($data);
// outputs something like this
Array
(
[0] => 544
[1] => 184
[2] => 3
[3] => width="544" height="184"
[bits] => 8
[mime] => image/png
)
1) Изображения в кодировке Base 64 не будут иметь имени файла
2) Тип пантомимы указан в mime
ключ, а ключ 2
содержит один из IMAGETYPE_
константы
3) Вы можете использовать image_type_to_extension($data[2])
чтобы получить правильное расширение изображения для типа пантомимы
4) Ширина изображения в ключе 0
и высота изображения в ключе 1
,