2017-04-21 127 views
1

你好,我用我的存儲圖像數據。它看起來像"‰PNG IHDRÂæÉ0†"。我是能夠產生使用下面的代碼從這個數據圖像:PHP如何從Base64生成圖像?

include_once "mysql_connect.php"; 
if(isset($_GET['id'])){ 
$id = mysql_real_escape_string($_GET['id']); 
$query = mysql_query("SELECT * FROM `entree` WHERE `realID` = '$id'"); 

while($row = mysql_fetch_assoc($query)){ 
    $imageData = $row["thumbXL"]; 
    $imageType = $row["imageext"]; 
} 

if($imageType == "image/png"){ 
    header("content-type: image/png"); 
}else if($imageType == "image/jpeg"){ 
    header("content-type: image/jpeg"); 
}else{} 

if(!($imageData == null)){ 
echo $imageData; 
}else{ 
} 


}else{ 

} 

該代碼是在一個名爲generateThumbnailXL.php文件,我會提出,在圖像的src和圖像將被完美地產生。我最近轉向使用Base64圖像數據,並且只是將base64數據放入src中,圖像完美地生成。問題是當有人在Facebook上分享我的文章時,縮略圖不顯示,因爲Facebook不喜歡使用Base64。我需要轉換的base64成類似"‰PNG IHDRÂæÉ0†"的一些方法,然後呼應它像上面代碼的方式一樣。我怎樣才能做到這一點?我在谷歌上進行了研究,發現沒有什麼幫助,沒有什麼能爲我工作。

+0

['base64_decode()'](http://php.net/manual/en/function.base64-decode.php)存在,你知道... –

回答

0

讓說,你有這樣的事情: -

<?php 

// $imgData contains base64 encoded data of image 
$imgData = <<< EOFILE 
R0lGODlhogBxAPcAA......0zEREAA7 
EOFILE; 

header("Content-type: image/png"); 
echo base64_decode($imgData); 
exit(); 

,你會看到圖像。

+0

這不適合我。 – bobby

+0

沒關係,它確實有效,但我怎樣才能將數據替換爲變量?當我放入$ imageData時,它不起作用。 – bobby

+0

@bobby你可以證明你是如何將thumbXL值插入數據庫的。 –