我一直在尝试使用php从数据库显示图像,但我只是在使用或点击链接时才会获得下载提示。我想要做的是,我想在网络浏览器上显示它。并希望在标签中使用它。
我的代码是:
require_once('dbconfig.php');
$cont=mysql_connect($dbhost,$dbuser,$dbpass) or die("Error Connecting the Database");
$seldatabase=mysql_select_db($dbselect,$cont);
$insert = "SELECT `p_mime`, `p_name`, `p_size`, `p_data` FROM $dbtbl_reg_details WHERE `id` = $id";
$query = mysql_query($insert);
if ($query)
{
if (mysql_num_rows($query)==1)
{
$row = mysql_fetch_assoc($query);
header("Content-Type: image/png");
header("Content-Length: ". $row['p_size']);
header("Content-Disposition: inline; filename=". $row['p_name']);
echo $row[p_data];
}
else
{
echo "image with id = ".$id." does not exist";
}
}
else
{
echo "query failed, image with id = ".$id." does not exist";
}
当我使用内联进行内容处理:然后我的网页在浏览器上返回一个脚本错误。
那么,在从mysql数据库中检索图像时,我应该怎么做才能在网页上显示图像
答案 0 :(得分:1)
if (mysql_num_rows($query)==1)
{
while( @ob_end_clean() );
header("Content-type: image/png");
header("Content-Length: ". $row['p_size']);
header("Content-Disposition: attachment; filename=\"{$row['p_name']}\"");
die($row[p_data]);
}
答案 1 :(得分:0)
为什么你有echo hi;
?
可能会导致错误
还有 最后添加出口(确保你之后不要回复任何东西)
echo $row[p_data];
exit;