【发布时间】:2013-05-14 18:11:20
【问题描述】:
您好,我在 mysql 中保存了 BLOB 格式的 jpg 图像。我在使用 PHP 将图像渲染到我的视图页面时遇到问题。当我使用
header('Content-type: image/jpeg')
它在我的页面上显示一条消息,因为图像无法显示,因为它包含错误。当我在没有标题功能的情况下打印时,会显示一些垃圾文本。这是我的代码:
function loadImage(){
//connect to db
mysql_select_db('aaa',$conn);
$query = mysql_query("SELECT * FROM asdf WHERE UserName='".$userName.");
$row = mysql_fetch_array($query);
$content = $row['ProfileImage'];
header('Content-type: image/jpeg');
echo $content;
}
这里是html代码:
<img src='loadImage.php?func=loadImage' />
如果显示图像,那么我打算使用
loadImage.php?func=loadImage?id=number'
但是图像本身没有显示。非常感谢任何帮助。
【问题讨论】:
-
您需要将
$conn传递给函数,否则它没有连接,因为它超出了函数的范围。另外你从哪里得到$username?这同样适用。 -
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial. -
$conn 已设置。我也得到了 $username 。我没有发布连接代码就是这样。当我回显 $row 时,它在页面上打印为“数组”。当我打印 $content 时,它会打印垃圾文本。我从 DB 获取数据,但只是图像没有呈现