我已经创建在那里我已经通过“BLOB”保存图像的表。 我需要显示这些图像与其他物品一起。 但我不知道如何将这些图像显示在同一个页面。 下面是在表中显示的形式,其他的事情我的PHP代码。 相若方式,我想相应地显示图像。 任何帮助吗?
<?php
$display_query = mysql_query("SELECT * FROM eportal");
echo "<table id='pageTable'><thead><tr><th>Item code</th><th>Description</th><th>Cost</th></tr></thead>";
echo "<tbody>";
while($row = mysql_fetch_array($display_query)){
print "<tr><td>".$row['itemid']."</td><td>".$row['description']."</td><td>";
print "₹".$row['cost']."</td></tr>";
}
echo "</tbody>";
echo "</table>";
mysql_close($connection);
?>
正如其他人所提到的,在数据库中存储图像通常是一个坏主意。
图像不会在同一个传输HTTP
与另一页的数据响应。
为了显示从数据库中的图像,你需要实现哪些,给出的项目ID的脚本,将读取域和发送图像的二进制数据; 并提供了脚本路径表单的<img src="">
while($row = mysql_fetch_array($display_query)){
print "<tr><td>".$row['itemid']."</td><td>".$row['description']."</td><td>";
print "₹".$row['cost']."</td><td>";
print "<img src=\"image.php?id=".$row['id']."\"></td></tr>";
}
image.php
是另一个脚本,其输出的值image_blob
给出的eportal.id
。 您还需要提供正确的尺寸和MIME类型的报头。
你最好只是存储在一个文件(Web服务器访问)的图像和存储路径FO在数据库中的文件。
图像保存到数据库不是一个好主意,但如果你认为你需要它这样,那么你可从数据库表中的数据,其编码为Base64(http://php.net/base64_encode),然后在HTML打印这种方式:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">
使用PHP你这样写:
echo '<img src="data:'.$image_mime_type.';base64,'.base64_encode($image_data_from_db).'" alt="My image alt" />';
读取BLOB数据,并将其写入与头型图像文件..并试图将其打印出来,它应该显示的图像文件。
是的保存图像或DB任何文件确实是一个坏习惯,你都在增加数据库的大小和它放缓的表现也..我建议你只尝试转换你BLOB成图像,但不要在你的工作中使用。 只需将图像保存在所需的位置,并保持其位置路径到数据库来获取并保存下一次。
存储BLOB与存储路径的图像文件在磁盘上的争论已经争论了一遍又一遍。 微软提供了一个研究报告比较每个的利弊这里 。 随着中说,显示斑点,因为你需要拨打电话来,告诉图像的类型存储的是什么浏览器单独的页面,并输出头信息的图像。
例如:
connectToDatabase();
$sql = "SELECT image_blob FROM eportal;";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: image/jpeg");
echo $row['image_blob'];
$db->close();
在你还是想保存你的图像数据库的情况下,您将需要第二个脚本将从数据库中获取这些图像,并将它们传递到浏览器与正确的头。
header("Content-type: image/jpeg");
#
# Replace this with database read:
# readfile('myimage.jpg');
此外,您将需要存储u使用什么样的形象。 将有JPEG,GIF或PNG文件不同的头。