2017-04-21 126 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值插入数据库的。 –