显示存储在数据库中的图像

时间:2013-09-06 18:31:28

标签: php mysql image tags src

我的sql数据库中有base64编码为blob的图像。

使用php脚本我可以使用。

在我的浏览器中正确显示图片
echo '<img src="data:image/jpeg;base64,' . $fetch_row['object']. '" />';

但是,我想创建一个直接显示照片的视图,或者通过访问php文件并在列中返回图片。我尝试过使用类似的东西:在mysql中

concat('<img src="data:image/jpeg;base64,',`object`,'" />')
or concat('<img src=/image.php? blah blah blah)

任何想法?

1 个答案:

答案 0 :(得分:1)

<?php

header('Content-type: image/jpeg');
echo base64_decode($fetch_row['object']);

您的问题也恰恰代表了为什么在数据库中存储图像是一个不好的想法。如果图片只是服务器驱动器上的文件,则可以

<img src="/path/to/file.jpg" />

并且根本不必涉及DB / PHP层。就目前而言,您的data-uri版本会阻止浏览器缓存该图像,并且您将强制用户每次都下载该图像,从而烧毁他们(和您的)带宽。