我正在尝试从MySQL数据库显示图像,如果图像是JPG,我的代码可以正常工作,但是如果我修改内容类型以显示PNG,它就不起作用...... 如何让它适用于PNG ??
<?php
// configuration
require("../includes/config.php");
header('Content-type: image/JPG');
$username = "xxxxx";
$password = "*****";
$host = "localhost";
$database = "database";
@mysql_connect($host, $username, $password) or die("Can not connect to database: ".mysql_error());
@mysql_select_db($database) or die("Can not select the database: ".mysql_error());
$query = mysql_query("SELECT * FROM images");
while($row = mysql_fetch_array($query))
{
echo $row['image'];
}
?>
此外,是否可以显示图像及其名称和描述? 谢谢!
答案 0 :(得分:1)
如果您不介意不支持旧浏览器,则可以使用数据网址来显示图片和说明http://en.wikipedia.org/wiki/Data_URI_scheme。
<figure>
<img src="data:image/png;base64,<?php echo base64_encode($row['image']); ?>" alt="Your alternative text" />
<figcaption>Some more description</figcaption>
</figure>
在几乎所有情况下,将图像保存在数据库中都不是很有用。您应该注意mimetype中的上下字母,请参阅http://de.selfhtml.org/diverses/mimetypen.htm(它是德语,但您可以阅读列表)。作为最后的建议 - 请查看mysqli_ *函数http://www.php.net/manual/en/book.mysqli.php。
//编辑:只是一个想法,但如果您在数据库中有多个图像,您的图像可能会被破坏,因为您只需将它们全部放入一个图像中。这不行!使用您的代码,您只能一次显示一个图像。