2015-12-14 88 views
1

以下API URL在PNG圖像輸出:轉換API網址爲「數據:圖像/ PNG;的base64" 由PHP

http://qrfree.kaywa.com/?l=1&s=8&d=google.com

我想轉換API URL爲「數據:圖像/ PNG; BASE64」 (DATA URL/DATA URI)與類似於下面的PHP代碼例如:

$image = ("<img src = http://qrfree.kaywa.com/?l=1&s=8&d=google.com"); // False! (only example!) 
//or 
$image = 'real-picture.png'; // True! 

$imageData = base64_encode(file_get_contents($image)); 
$src = 'data:image/png;base64,'.$imageData; 
echo '<img src="'.$src.'">'; 

然而,上述代碼與已指定的格式,並且如果替換爲API URL一個真實的畫面,無法讀取圖像路徑 代碼應如何糾正?

回答

1

假設一個Web請求http://qrfree.kaywa.com/?l=1&s=8&d=google.com返回類型的圖像/ PNG的圖片,你可以做...

$image = "http://qrfree.kaywa.com/?l=1&s=8&d=google.com"; 
echo '<img src="data:image/png;base64,', 
    base64_encode(file_get_contents($image)), 
    '">'; 

file_get_contents()期待一個有效的文件名或有效的HTTP(S)請求。您的代碼正在傳入某些以HTML開頭的東西<img ...

+0

已修復! ,非常感謝「BareNakedCoder」。 – rapoli