求救:动态图片不能显示

lxf4221 2006-07-13 11:23:34
图片信息保存在数据库中,数据库结构如下;
数据库结构:
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地址,能弹出一个对话框提示是不是要打开,保存,或取消,点击打开能看到图片,点击保存也能在本地保存下图片,谁能告诉我这是这么回事?
...全文
263 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeroleonhart 2006-07-18
  • 打赏
  • 举报
回复
store the image as a file and record the directory&name of the image file in the database.
lantersen 2006-07-18
  • 打赏
  • 举报
回复
不要从数据库中取,你直接这样设置试试,Header("Content-type: image/PNG");
另一方面,看下路径有没有问题.
lxf4221 2006-07-14
  • 打赏
  • 举报
回复
我保存的多是gif,$type===image/gif
itian 2006-07-13
  • 打赏
  • 举报
回复
你确认你的
Header( "Content-type:$type");
中$type为image/png吗?

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧