1

我需要显示我的 php 数据库中的图像。我知道图像在那里,这应该可以工作有人能告诉我为什么它不工作吗?我也知道我已成功连接到数据库,所以这不是问题

这是我连接到数据库后的第一页 index.php

<?php
$query = mysql_query("SELECT * FROM data WHERE id= 1");    
while($data=mysql_fetch_array){
?>
<p> <?php echo $data['title']; ?></p>
<img src="img.php?id=1"/>    
<?php } ?>

这是img.php

<?php
$id=$_GET['id'];
$query = mysql_query("SELECT * FROM data WHERE id= $id");
while($data= mysql_fetch_array($query)){
$image=$data['image'];
header("content-type: image/jpeg");
echo $image;
}
?>

几个小时以来,我一直试图找到答案

4

2 回答 2

0

您可以将图像数据转换为 base64 并将其粘贴在标签中。

   echo '<img src="data:image/jpeg;base64,' . base64_encode( $data['image'] ) . '" />';
  • 或其他最佳解决方案是仅按名称存储图像,而不是 blob。

然后像这样调用图像

<img src="<?php echo $data['image_name_in_database'].'gif' ;?>"  height="42" width="42">

这个链接可以帮助你

于 2013-06-15T15:25:39.620 回答
0

您需要创建一个图像数据资源,而不是 echo $image;

$img=false;

if($img=@imagecreatefromstring($data['image'])){

   header('Accept-Ranges: bytes');
   header('Content-Type: image/jpeg');      
   imagejpeg($img);
   imagedestroy($img);

}
else{

   //error message

}
于 2013-06-15T15:24:19.333 回答