我正在创建一个博客,下面的一些代码是博客网格打印出来的地方。 我有一个blob保存在我的mysql数据库中,我试图把它变成一个图像。 imageName,imageType,imageSize,imageContect在运行我的代码时都接收值。问题是imageContent变量显示一堆随机字符而不是图像。似乎这个的原因是标题,但我不知道该怎么做。任何人都可以帮我重新编码图像。感谢
while($row = mysql_fetch_array($result))
{
echo "name ".$row['imageName'].'<BR>';
echo "type ".$row['imageType'].'<BR>';
echo "size ".$row['imageSize'].'<BR>';
echo '<B>'.$row['blogTitle'].'</B><br />';
echo '<A HREF = http://www.alcaeos.com/blog/displayblogProcess.php?mode=edit&blogID='.$row['blogID'].'>Edit</A> ';
echo '<A HREF = http://www.alcaeos.com/blog/displayblogProcess.php?mode=delete&blogID='.$row['blogID'].'>Delete</A><BR />';
echo $row['blog'].'<br />';
header("Content-length:".$row['imageSize']);
header("Content-type:.".$row['imageType']);
header("Content-Disposition: attachment; filename=".$row['imageName']);
echo $row['imageContent'].'---------<br /><br /><br />';
}
答案 0 :(得分:0)
这是一个显示存储为blob的图像的相当简单的示例。
<?php
require_once ('./includes/db.inc.php'); // Connect to the db.
//let the browser know its an image
header("Content-type: image/jpeg");
// Make the query.
$query = "SELECT thumbnail FROM items where item_id=" . $_GET['item_id'];
$result = @mysql_query ($query);
if ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo $row['thumbnail'];
}
mysql_close(); // Close the database connection.
?>
答案 1 :(得分:0)
跳过Content-length和Content-disposition,只需使用Content-type并将其设置为有效的MIME类型。
假设它们是JPEG,你可以这样做:
header( 'Content-type: image/jpeg' );