【发布时间】:2011-07-20 14:58:37
【问题描述】:
我将图像作为 blob 存储在我的 mysql 数据库中。我可以通过变量中的查询加载这些文件,但是如何将这个变量的内容作为图像发送回浏览器?
html 文件可以包含类似 <img src="smtg.png"> 的内容吗?或者如何提出请求?
【问题讨论】:
我将图像作为 blob 存储在我的 mysql 数据库中。我可以通过变量中的查询加载这些文件,但是如何将这个变量的内容作为图像发送回浏览器?
html 文件可以包含类似 <img src="smtg.png"> 的内容吗?或者如何提出请求?
【问题讨论】:
您需要一个回显图像数据的脚本。使用header() 设置适当的内容类型,然后回显数据。例如:
header("Content-type: image/png");
...
echo $db_results['imgdata'];
然后,从 HTML 页面调用您的脚本,如下所示:
<img src="yourimagescript.php" />
理想情况下,您应该将文件类型存储在图像数据旁边的列中,以便您可以动态设置正确的内容类型。
【讨论】:
PHP
<?php
mysql_connect("localhost","test","test");
mysql_select_db("test");
$imageid = (int)$_GET['imgid'];
$rs = mysql_query("select * from images where imageid=$imageid");
$row = mysql_fetch_assoc($rs);
$imagebytes = $row['imgdata'];
header("Content-type: image/jpeg");
print $imagebytes;
?>
HTML
<img src="location_to_your_php_script.php?imgid=21" alt="xxx" />
【讨论】: