2017-07-18 122 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