如何循环显示数据库中的blob图像?

时间:2013-02-07 20:36:25

标签: php sql image loops blob

首先要声明我已经被告知这不是存储和显示图像的最佳方式,但我已经被委托这样做,所以任何帮助都会非常感激(更好的方式是存储文件数据库中的路径等)。

花了大量时间搜索网页后,我想我发现解决我的特定问题的最佳方法是使用单独的文件解码blob并将其链接到要显示的文件中图像上。与每页不能有多种不同类型的标题有关的事情。

任何帮助都会很棒,因为你可能会说我对PHP不好。

这是我的代码:

<?php
$con = mysql_connect("***","***","*****");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("learning_game", $con);
$result = mysql_query("SELECT * FROM data");
?>
<head>
<title>Game Data</title>
</head>
<body>
<h1>Game Data Input</h1>
</body>
</html>

我有一个名为'data'的表,blob文件位于名为'image'

的列下

理想情况下,我想遍历数据库中的所有blob并在浏览器中打印它们。

非常感谢任何帮助,我提前感谢您的任何回复。

1 个答案:

答案 0 :(得分:2)

你应该可以使用:

printf('<img src="data:image/jpeg;base64,%s">', base64_encode($myblobdata));

这会给你类似的东西:

<img src='data:image/jpeg;base64,Cldhcm5...pbmUgNQo='>

除了更长的时间。

就像每个人都在说评论一样,这会让你的网页“沉重”。如果它们比简单的图标大,那么您应该认真考虑使用单独的脚本将它们作为图像提供。即:

<?php
$myblob = your_code_here();
header('Content-Type: image/jpeg');
echo $myblob;
exit;