0

我无法在我的 php 页面上将检索到的 blob 图像文件显示为图像。显示从数据库中检索到的数据的代码部分如下:

echo '<h4>'.$yaz["Header"].'</h4><br>'.$yaz["Picture"].'<p class="text">'.$yaz["Description"].'</p><br>';

当我编写这段代码时,我得到了 Header 和 Description 并且没有发生任何问题。但是图片来了

����JFIFHH��:>ExifMM*����(2�;���i؈%PdCanonCanon EOS 500DHH2012:09:05 10:23:46 

如何在 php 页面上显示我的图片?

4

3 回答 3

3

这很简单。
只是不要将图像存储在 blob 字段中的数据库中。相反,将图像本身存储在文件系统中,而在数据库中仅存储文件的名称。这样你的代码就可以工作了。

echo '<h4>'.$yaz["Header"].'</h4><br><img src='.$yaz["Picture"].'><p class="text">'.$yaz["Description"].'</p><br>';
于 2013-09-13T13:33:22.543 回答
0

不要将图像存储在数据库中。将其存储在您的文件系统中。在数据库中存储文件的名称和位置。因为

1.如果数据库损坏,无法检索。

2.与其他选项相比,从数据库中检索图像文件的速度很慢。

于 2013-09-13T13:41:04.880 回答
0

试试这样:

$image = $row['image']; $image_type= $row['image_type']; $size = $row['image_size']; $ext = explode('/', $image_type); $name = $id . '.' . $ext[1];

header("Content-type: $image_type"); header("Content-length: $size"); header("Content-Disposition: attachment; filename=$name");

print $image;
exit;

于 2013-09-13T13:43:41.463 回答