我无法在我的php页面上将检索到的blob图像文件显示为图像。显示从数据库中检索的数据的代码部分如下:
echo '<h4>'.$yaz["Header"].'</h4><br>'.$yaz["Picture"].'<p class="text">'.$yaz["Description"].'</p><br>';
当我编写此代码时,我得到标题和描述,并且不会发生任何问题。但图片来了
����JFIFHH��:>ExifMM*����(2�;���i؈%PdCanonCanon EOS 500DHH2012:09:05 10:23:46
如何在php页面上显示我的图片?
答案 0 :(得分:3)
这很简单。
只是不要在blob字段中的数据库中存储图像。相反,将图像本身存储在文件系统上,而在数据库存储中仅存储文件的名称。这样你的代码就可以了。
echo '<h4>'.$yaz["Header"].'</h4><br><img src='.$yaz["Picture"].'><p class="text">'.$yaz["Description"].'</p><br>';
答案 1 :(得分:0)
不要将图像存储在数据库中。将其存储在您的文件系统中。存储文件在数据库中的名称和位置。因为
1.如果数据库已损坏,则无法检索。
2.与其他选项相比,从db中检索图像文件的速度很慢。
答案 2 :(得分: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;