使用PHP从mysql加载文件

时间:2011-07-20 14:58:37

标签: php mysql file

我将图像存储在我的mysql数据库中作为blob。我可以使用变量中的查询加载这些文件,但是如何将此变量的内容作为图像发送回浏览器?

html文件是否包含类似<img src="smtg.png">的内容?或者如何提出请求?

2 个答案:

答案 0 :(得分:7)

您需要一个回显图像数据的脚本。使用header()设置适当的内容类型,然后回显数据。例如:

header("Content-type: image/png");
...
echo $db_results['imgdata'];

然后,从HTML页面调用您的脚本,如下所示:

<img src="yourimagescript.php" />

理想情况下,您应该将文件类型存储在图像数据旁边的列中,这样您就可以动态设置正确的内容类型。

答案 1 :(得分:2)

<强> 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" />