我在我的数据库中上传了一张图片。数据类型是BLOB。现在我想在浏览器中查看此图像。我写了以下代码,但它没有生成图像。请检查一下。
由于
<?php
include 'connect.php';
//$id= $_GET['product_id'];
$query_images = "SELECT image FROM product_images WHERE product_id=121";
if (!$query_images_result = mysql_query($query_images))
{
echo mysql_error();
}
else
{
$fetch_images = mysql_fetch_array($query_images_result);
$print_images = $fetch_images['image'];
header('Content-type:image/jpeg');
echo $print_images;
}
?>
文件2
<body>
<img src='single_product_image_show.php' alt="image" />
</body>
答案 0 :(得分:1)
也许是这样的?您可能想使用base64 encoding来构建图像
仅供参考:未经测试。
$sql = "SELECT `image` FROM `product_images` WHERE `product_id`=121 LIMIT 1";
$query_images_result = mysql_query($sql);
if (!$query_images_result)
{
echo mysql_error();
}
else
{
list($print_images) = mysql_fetch_array($query_images_result);
$base64source = "data:image/jpeg;base64," . base64_encode($print_images);
echo '<img src="'.$base64source.'" alt="" />';
}
答案 1 :(得分:0)
可能发生这种情况的原因有多种。首先直接尝试你的脚本而不用“header('Content-type:image / jpeg');”所以你可以看到它实际返回的内容。像http:// [youhostname] /single_product_image_show.php我假设你会看到一些错误。
从php提供图像的一些最佳实践: