我只是希望从页面上显示的数据库中获取图像。
我将图像路径保存为数据库中的blob,然后尝试回显img标记的source属性中的字段。但是我显示了很多随机字符,没有图像..下面是我在页面视图中显示的图像:
<div id="club_pictures">
<img id="pic_1" src="<?php echo $this->clubs['pic_1']; ?>" />
<img id="pic_2" src="<?php echo $this->clubs['pic_2']; ?>" />
<img id="pic_3" src="<?php echo $this->clubs['pic_3']; ?>" />
</div>
如果我在浏览器中点击查看源,我会得到确切的HTML,我想要显示图像。
由于
里克
答案 0 :(得分:0)
我将图像路径保存为数据库中的blob
这是一个矛盾。您的数据库字段包含图像路径或图像的二进制数据。我根据你提出的其余问题假设它是后者。
您不能以这种方式将二进制数据回显到页面。您需要创建一个单独的操作或URL,根据URL中的参数加载正确的图像数据,提供适当的标题(包括正确的mime类型),然后回显二进制数据(没有任何其他输出)。在HTML示例中,您将为每个图像回显此操作的路径。应该有很多例子解释如何使用PHP来解决这个问题。
答案 1 :(得分:0)
您也可以尝试直接在HTML中嵌入图片
$base64 = base64_encode($pictureBinary));
$image = '<img src="data:image/gif;base64,' . $base64 . '" />';
echo $image;
答案 2 :(得分:0)
事实证明我应该使用baseUrl助手来给出图像文件的绝对誓言。我一做到这一点就行了!感谢ZendFramework images not loading [这篇文章] [1]。我的工作代码如下所示:
<img id="pic_1" src="<?php echo $this->baseUrl($this->clubs['pic_1']) ?>" />
感谢各位帮忙!