我需要从我的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;
}
?>
我一直试图找到这个问题几个小时的答案
答案 0 :(得分: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
}
答案 1 :(得分:0)
您可以将图像数据转换为base64并将其粘贴到标记中。
echo '<img src="data:image/jpeg;base64,' . base64_encode( $data['image'] ) . '" />';
然后像那样调用图像
<img src="<?php echo $data['image_name_in_database'].'gif' ;?>" height="42" width="42">
此link可能会帮助您