我需要我的PHP页面来显示我的mysql数据库中的BLOB图像

我需要我的PHP页面来显示我的mysql数据库中的BLOB图像

所以我的最后一个问题是如何从搜索中显示我的techID:

我的新问题仍在此页面上。我也添加了一个回声图像。但我无法使用Blob并显示我的图像而不是二进制JPEG数据。我一直试图找到另一个这样的实例,但找不到任何修复我的错误。

//Header ('Content-type: image/jpeg')echo "<dt><strong>Technician Image:</strong></dt><dd>" . '<img src='.$row2['image'].' width="290" height="290">' . "</dd>";

$query_Recordset2 = "SELECT * FROM technician WHERE techID=" . $row1["techID"] ;$Rs2 = mysql_query($query_Recordset2) or die(mysql_error());

到目前为止,我在上一个问题中所做的唯一更改(显然包括我给出的修复工作)。

我不明白的是在哪里以及如何'Content-type: image/jpeg'让我的页面识别链接的图像是MIME类型image/jpeg

我在我的页面上看到的是这个

技术员图片: E j i`= 7f $D o“ b Ckkc R ^M ;n~ 0&m)J RE)JDRE)JDRE)JDRE)JDRE)JDRE)JDSjR)+ N.R,U i n9, QX~ {( ̮ : 2 12 “ aV7 6 { LP[ W گ R $ + LMc'hM 5 o PA | .8 E ģ Rn 1 [ { 3> rY X ; Ǖ u z ' vf N葟葟z Q k 3 O ܨ ٔ ٔ  N [{+D ; ' $ $ & iJR )JR )JR )JR )JR )JR )JR )JR )JR )JR )JR )JR ) width=“290”height =“290”>

显然我删除了一个中间块,所以它不是很大。有一个小的“破碎的图像”框出现在前面,当我右键单击并选择“在新窗口中打开图像”时,它放入的URL很简单,Content-type:或者我得到一个带有URL的禁止访问页面http://      localhost/Sim5Server/Pages/%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%10JFIF%EF%BF%BD%01%02%EF%BF%BD%EF%BF%BDd%EF%BF%BDd%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BDC%EF%BF%BD

我在该网址中放了一个空格,因为它不是互联网的链接。

我只使用普通的BLOB类型,因为我只需要一个小于64Kb的小图像


绝地无双
浏览 693回答 3
3回答

墨色风雨

在您目前的情况下,您有两个前期选项。第一个,如果你有很多这样的图像,我不推荐的是使用内联base64编码。这完成了:<img&nbsp;src="data:image/jpeg;base64,<?php&nbsp;echo&nbsp;base64_encode($image);&nbsp;?>"&nbsp;/>使用现有代码的复制/粘贴版本:echo&nbsp;'<dt><strong>Technician&nbsp;Image:</strong></dt><dd>' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'<img&nbsp;src="data:image/jpeg;base64,'&nbsp;.&nbsp;base64_encode($row2['image'])&nbsp;.&nbsp;'"&nbsp;width="290"&nbsp;height="290">' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'</dd>';第二种方法是创建一个“图像”PHP文件,该文件将数据库中图像的ID作为查询字符串参数并输出图像。所以,你的HTML看起来像:<img&nbsp;src="image.php?id=<?php&nbsp;echo&nbsp;$image_id;&nbsp;?>"&nbsp;/>你的PHP页面看起来类似于:<?php $id&nbsp;=&nbsp;(isset($_GET['id'])&nbsp;&&&nbsp;is_numeric($_GET['id']))&nbsp;?&nbsp;intval($_GET['id'])&nbsp;:&nbsp;0;$image&nbsp;=&nbsp;getImageFromDatabase($id);&nbsp;//&nbsp;your&nbsp;code&nbsp;to&nbsp;fetch&nbsp;the&nbsp;imageheader('Content-Type:&nbsp;image/jpeg');echo&nbsp;$image;?>

弑天下

您可以从与文档相同的页面输出图像的唯一方法是使用数据uri。echo&nbsp;"<dt><strong>Technician&nbsp;Image:</strong></dt><dd>"&nbsp;.&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'<img&nbsp;src="data:image/jpeg;base64,'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base64_encode($row2['image']). &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'"&nbsp;width="290"&nbsp;height="290">'&nbsp;.&nbsp;"</dd>";

牧羊人nacy

正确的代码应如下所示。您必须使用stream_get_contents()将资源ID更改为字符串。<img&nbsp;src="data:image/jpeg;base64,<?php&nbsp;echo&nbsp;base64_encode(stream_get_contents($row2['image']));&nbsp;?>"&nbsp;/>
打开App,查看更多内容
随时随地看视频慕课网APP