我尝试将MySQL DB中存储的图像(blob数据)链接到PHP,但我只实现了整页的字符。这就是我所做的:
$query = "SELECT image FROM uploads WHERE id = {$id}";
$image_array = mysql_query($query, $connection);
$row = mysql_fetch_array($image_array);
$image = $row['image'];
echo $image;
// echo base64_decode($content);
显示原始数据的存储方式。我想将它链接到HTML标签或至少在页面上显示它,在那里我显示了很多其他东西 标题('Content-type:image / png'); 对我来说不是解决方案。
有什么建议吗?
答案 0 :(得分:8)
要正确显示图片,您只需在Content-type: image/png
echo
header("Content-type: image/png");
echo (base64_decode($row['image']));
如果您想要放置在图片代码中,只需使用此代码
即可echo '<img src="data:image/png;base64,' . $row['image'] . '" />';
答案 1 :(得分:1)
您需要提供正确的标题,否则页面不会知道您发送的内容。
// define results into variables
$name=mysql_result($result,0,"file_name");
$size=mysql_result($result,0,"file_size");
$type=mysql_result($result,0,"file_type");
$content=mysql_result($result,0,"file_stream");
// give our picture the proper headers...otherwise our page will be confused
header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;
答案 2 :(得分:0)
您应该使用名为“内联图片”的内容。使用此代码在页面上显示图像,假设$ image变量包含base64编码数据:
<img src="data:image/png;base64,<?php echo $image; ?>" alt="Larry" />