繁体   English   中英

如何在php页面上显示存储在数据库中的图像?

[英]How can I display an image stored in a database on a php page?

我无法在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页面上显示图片?

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

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

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

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

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

尝试这样:

$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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM