我有一个存储图像'bytea'类型的postgres数据库,我尝试将它们显示到带有PHP的浏览器中。我找到了显示其中一个的方法,但我不能超过一个。我使用的代码如下:
文件名 - display_image.php
$conn = pg_connect("dbname=test user=postgres password=postgres");
$temp = '/home/postgres/tmp.jpg';
$query = "select lo_export(image, '$temp') from map ";
$result = pg_query($query);
if($result)
{
while ($line = pg_fetch_array($result))
{
$ctobj = $line["image"];
echo "<IMG SRC=show.php> </br>";
}
}
else { echo "File does not exists."; }
pg_close($conn);
文件名 - show.php
header("Content-type: image/jpeg");
$jpeg = fopen("/home/postgres/tmp.jpg","r");
$image = fread($jpeg,filesize("/home/postgres/tmp.jpg"));
echo $image;
问题似乎是只显示一张图像的“tmp.jpg”虚拟文件。如果查询的结果是 7 个图像,那么它会在一个 while 循环内显示 7 次相同的图像。我该如何解决这个问题?感谢您的关注!