在请大侠帮忙!! php中如何显示mysql数据库中以blog类型存储的图片文件? 要先header一下content-type类型才行header ("Content-type: image/gif"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我已经将图片插入到数据库中了,在管理mysql数据库的软件中看这些图片能正常显示。插入没有问题。 以下是我的显示页面的代码。但我显示出来的是乱码,不是图片,那是怎么回事啊???<?require_once('./conn.php');$myID = trim($_GET["id"]);$myType = trim($_GET["type"]);$mySize = trim($_GET["size"]);if(!$myID==""){ $sql = "SELECT bookface FROM book WHERE bookid=".$myID; $result = mysql_query($sql,$conn) or die("查询失败!" . mysql_error()); //执行添加命令! while ($row = mysql_fetch_object($result)) { Header("Content-type: image/".$myType); echo $row->bookface; } }else{ echo "<center>暂无预览图片!</center>";}mysql_free_result($result); //释放结果内存资源mysql_close($conn); // 断开连接 ?> 图片一般在客户端用html标记<img src="...">显示就可以了啊,从数据库中读出的是图片的文件名,把src中的...换成相应的路径/<?=$row['image'] ?> blog的数据如果是文本用echo显示是没有问题的,如果是图片或声音一般数据库里存的是文件名图片或声音通过程序上传到服务器 直接echo二进制数据就可以了不能和文本混合echo php不需要asp中专门针对二进制输出的binarywrite方法 getimage.php<?修改HTTP头信息 读出数据 并 echo ?>显示图片时<IMG src="getimage.php?id=1"> 各位大侠:我在这里把我的添加和显示2个页面的代码贴出来,请帮我看看是不是有什么错误================================================add.php [添加页面] -------<?if($_POST["BtAdd"]){ $bookid = trim($_POST["bookid"]); $bookname = trim($_POST["bookname"]); $writer = trim($_POST["writer"]); $booktype = trim($_POST["booktype"]); $publisher = trim($_POST["publisher"]); $publishdate = trim($_POST["publishdate"]); $buydate = trim($_POST["buydate"]); $price = trim($_POST["price"]); $isdn = trim($_POST["isdn"]); $comment = trim($_POST["comment"]); $islend = trim($_POST["islend"]); $bookface = trim($_POST["bookface"]); $my_booknull = ""; if (!$bookname=="")//如果书名不为空 { if (!$bookface=="") //说明有图片 { //获取图片格式 [从右向左截取-3个字节刚好为"gif","jpg","png"等] if (substr($bookface,-3)=="jpg"){$pic_type = "jpeg";}else{$pic_type = substr($bookface,-3);} $pic_size = filesize($bookface); //获取图片大小 $my_bookface = addslashes(fread(fopen($bookface,"r"),$pic_size)); $sql = "INSERT INTO book(bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend,bookface) VALUES('$bookname','$writer','$booktype','$publisher','$publishdate','$buydate','$price','$isdn','$comment','$islend','$my_bookface')"; } else //说明没图片 { $sql = "INSERT INTO book(bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend,bookface) VALUES('$bookname','$writer','$booktype','$publisher','$publishdate','$buydate','$price','$isdn','$comment','$islend','$my_booknull')"; } $result = mysql_query($sql,$conn) or die("添加失败!" . mysql_error()); //执行添加 if ($result) { echo "添加成功!"; $add_id = mysql_insert_id(); //获取最新添加的纪录的编号?> <A href='picview.php?id=<?echo $add_id;?>&type=<?echo $pic_type;?>&size=<?echo $pic_size;?>' target='Frame'>预 览</A> <? } } else { echo "请输入书名!"; }}mysql_free_result($result); //释放结果内存资源mysql_close($conn); // 断开连接 ?>==================================================picview.php [预览页面]-----------<?phprequire_once('./conn.php');$myID = trim($_GET["id"]);$myType = trim($_GET["type"]);$mySize = trim($_GET["size"]);if(!$myID==""){ $sql = "SELECT bookface FROM book WHERE bookid=".$myID; $result = mysql_query($sql,$conn) or die("查询失败!" . mysql_error()); //执行查询 $pic = mysql_result($result,0); Header("Content-type: image/".$myType); echo $pic;}mysql_free_result($result); //释放结果内存资源mysql_close($conn); // 断开连接 ?>======================================节选的一部分乱码----------------GIF89a€€=? ?U? ?P ??SuW978敀?656?吞悙扝HIzz{``a吵础、寣崐妺枤 $掴雰彜8*3Bɡ娑昔掼眸!O+b?i?e?p?j礎v肎{?m?b濫u篐y緿p矴t礏jw筕壱S勌Hr?DiP......==============================================如果诸位发现我的代码有错误,所以导致出现乱码,恳请贴出来,谢谢了 问题已经解决 不过不是采用echo .... 的方法 而是采用gd库函数绘制出来的:) 异步执行文件里面的js,返回数据的时候为什么没有生效的呢? QQ联合登录问题 插入mysql数据库日文乱码 php分布计算 问两个很初级的问题 招php高手 表单内的点选值和下拉框值怎样用PHP提取 [具体见内容,求高手指点] 【急!】想要用get获取网址变量,但是服务器提示域名不真实存在,无法访问,应该怎么办? 大家看看有什么问题!!!! 如何收邮件?? 高分求助一个php的问题 PHP是否能够实现这种显示数据的方式??高分求答
以下是我的显示页面的代码。但我显示出来的是乱码,不是图片,那是怎么回事啊???
<?
require_once('./conn.php');$myID = trim($_GET["id"]);
$myType = trim($_GET["type"]);
$mySize = trim($_GET["size"]);if(!$myID=="")
{
$sql = "SELECT bookface FROM book WHERE bookid=".$myID;
$result = mysql_query($sql,$conn) or die("查询失败!" . mysql_error()); //执行添加命令! while ($row = mysql_fetch_object($result))
{
Header("Content-type: image/".$myType);
echo $row->bookface;
}
}
else
{
echo "<center>暂无预览图片!</center>";
}
mysql_free_result($result); //释放结果内存资源
mysql_close($conn); // 断开连接
?>
图片或声音通过程序上传到服务器
<?
修改HTTP头信息
读出数据 并 echo
?>显示图片时
<IMG src="getimage.php?id=1">
================================================
add.php [添加页面]
-------
<?
if($_POST["BtAdd"])
{
$bookid = trim($_POST["bookid"]);
$bookname = trim($_POST["bookname"]);
$writer = trim($_POST["writer"]);
$booktype = trim($_POST["booktype"]);
$publisher = trim($_POST["publisher"]);
$publishdate = trim($_POST["publishdate"]);
$buydate = trim($_POST["buydate"]);
$price = trim($_POST["price"]);
$isdn = trim($_POST["isdn"]);
$comment = trim($_POST["comment"]);
$islend = trim($_POST["islend"]);
$bookface = trim($_POST["bookface"]); $my_booknull = ""; if (!$bookname=="")//如果书名不为空
{
if (!$bookface=="") //说明有图片
{
//获取图片格式 [从右向左截取-3个字节刚好为"gif","jpg","png"等]
if (substr($bookface,-3)=="jpg"){$pic_type = "jpeg";}else{$pic_type = substr($bookface,-3);}
$pic_size = filesize($bookface); //获取图片大小
$my_bookface = addslashes(fread(fopen($bookface,"r"),$pic_size)); $sql = "INSERT INTO book(bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend,bookface) VALUES('$bookname','$writer','$booktype','$publisher','$publishdate','$buydate','$price','$isdn','$comment','$islend','$my_bookface')";
}
else //说明没图片
{
$sql = "INSERT INTO book(bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend,bookface) VALUES('$bookname','$writer','$booktype','$publisher','$publishdate','$buydate','$price','$isdn','$comment','$islend','$my_booknull')";
}
$result = mysql_query($sql,$conn) or die("添加失败!" . mysql_error()); //执行添加 if ($result)
{
echo "添加成功!"; $add_id = mysql_insert_id(); //获取最新添加的纪录的编号
?>
<A href='picview.php?id=<?echo $add_id;?>&type=<?echo $pic_type;?>&size=<?echo $pic_size;?>' target='Frame'>预 览</A>
<?
}
}
else
{
echo "请输入书名!";
}
}
mysql_free_result($result); //释放结果内存资源
mysql_close($conn); // 断开连接
?>==================================================picview.php [预览页面]
-----------
<?php
require_once('./conn.php');$myID = trim($_GET["id"]);
$myType = trim($_GET["type"]);
$mySize = trim($_GET["size"]);if(!$myID=="")
{
$sql = "SELECT bookface FROM book WHERE bookid=".$myID;
$result = mysql_query($sql,$conn) or die("查询失败!" . mysql_error()); //执行查询
$pic = mysql_result($result,0);
Header("Content-type: image/".$myType);
echo $pic;
}
mysql_free_result($result); //释放结果内存资源
mysql_close($conn); // 断开连接
?>======================================
节选的一部分乱码
----------------
GIF89a€€=? ?U? ?P ??SuW978敀?656?吞悙扝HIzz{``a吵础、寣崐妺枤 $掴雰彜8*3Bɡ娑昔掼眸!O+b?i?e?p?j礎v肎{?m?b濫u篐y緿p矴t礏jw筕壱S勌Hr?DiP......==============================================如果诸位发现我的代码有错误,所以导致出现乱码,恳请贴出来,谢谢了