2017-07-18 89 views
0

我有base64编码的字符串(从图像编码)。从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); 

非常感谢。

+2

** Downvoters **请解释是什么问题,而不是downvote? –

回答

0

您可以使用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