有人可以帮我这个代码吗?问题是它没有显示图像,但这个奇怪的东西:OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOÿÀx !ÿÄ¢ }!1AQa"q2‘¡#B±ÁRÑð$3br‚%&'()*456789:CDEFGHIJSTUVW
这是我的代码:
<?php
//mysql connect database
mysql_connect('localhost','root','password') or die(mysql_error());
mysql_select_db('database') or die(mysql_error());
$res=mysql_query('select * from img');
while($row=mysql_fetch_array($res))
{
echo "<div id='image'>";
echo "<p/>";?> <img src="<?php echo $row['image'];?>" height='300px' width='468px'>";<?php
echo "<p/>"; echo $row['name'];
echo "</div>";
}
?>
答案 0 :(得分:2)
<img>
需要一个指向图像文件所在位置的URL。您正在尝试将图像的原始二进制垃圾转储到该图像标记中。垃圾中自然会包含"
和>
个字符,并且&#34;关闭&#34;你的img标签,让其余的垃圾被视为纯文本。
您必须通过单独的脚本提供图像,例如
html:
<img src="pic.php?id=foo">
PHP:
header('Content-type: image/jpeg');
echo get_blob_from_database($_GET['id']);
或者将图像正确嵌入到html中:
<img src="data:image/jpg;base64,<?php echo base64_encode($row['image']); ?>">
这些都不是特别好的解决方案。将图像直接存储在数据库中几乎不是一个好主意。
答案 1 :(得分:0)
最好将图像保存在文件夹中,而不是以blob格式保存
您可以将文件名保存在数据库表中并将图像保存在文件夹
中当您调用文件名时,可以将其与src结合使用并获取内容