求救:动态图片不能显示
图片信息保存在数据库中,数据库结构如下;
数据库结构:
Field Type
id int(11)
act_id int(11)
file_data longblob
file_type varchar(100)
file_name varchar(255)
file_size int(11)
图片显示页面如下:
<?
$act_id=$_GET["act_id"];
$sql="SELECT * FROM cms_act_file WHERE act_id={$act_id}";
$result=mysql_query($sql,$db) or die("Can't perform Query");
$num=mysql_num_rows($result);
if($num>0){
$row=mysql_fetch_object($result);
$data = mysql_result($result,0,"file_data");
$type = mysql_result($result,0,"file_type");
$name = mysql_result($result,0,"file_name");
header("Content-type:$type");
header("Content-Disposition: attachment; filename=$name");
echo $data;
}
else{
$fp=fopen("images/blank.gif", "rb");
if(!$fp) die("file open error");
$data = fread($fp, filesize("images/blank.gif"));
fclose($fp);
header("Content-type:image/gif");
header("Content-Disposition: attachment; filename=blank.gif");
echo $data;
}
?>
在其他的页面中,使用
<img src="showpic.php?act_id=n"> 发现看不到图片,只能看到红叉。但是在浏览器的地址栏直接输入URL地址,能弹出一个对话框提示是不是要打开,保存,或取消,点击打开能看到图片,点击保存也能在本地保存下图片,谁能告诉我这是这么回事?