从base64编码的字符串中获取图像信息

时间:2017-07-18 04:18:10

标签: php base64 fileinfo

我有base64编码的字符串(从图像编码)。

$str = "......";

问:如何获取编码图像信息?

喜欢,

1)图像名称。

2)MIME类型。

3)图片扩展。

4)图像尺寸。

我尝试使用this url下面的代码,但它只提供 MIME 类型而非其他信息。

$encoded_string = "....";
$imgdata = base64_decode($encoded_string);

$f = finfo_open();

$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);

非常感谢。

1 个答案:

答案 0 :(得分: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类型在mime键中给出,而键2包含IMAGETYPE_常量之一

3)您可以使用image_type_to_extension($data[2])为mime类型

获取正确的图像扩展名

4)图像宽度在键0中,图像高度在键1中。