Получить информацию об изображении из строки в кодировке 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,

Другие вопросы по тегам