php,mysql,blob类型的照片怎么显示出来?
php,mysql,blob类型的照片怎么显示出来?我的表中有一个blob类型的。然后我用了以下代码将用户上传的照片直接写进数据库中:(只显示主要操作代码)$photo=...
php,mysql,blob类型的照片怎么显示出来?我的表中有一个blob类型的。然后我用了以下代码将用户上传的照片直接写进数据库中:(只显示主要操作代码)$photo=$_FILES["photo"]["tmp_name"];if($photo<>""){ $fp=fopen($photo,"r"); $data=addslashes(fread($fp,filesize($photo)));}$pt=$_FILES["photo"]['type'];//接着是写进数据库的insert语句,写进$data跟$pt。操作成功。然后现在问题是,怎么把图片显示出来?我用了一个<img src="aa.php">作为调试,而aa.php的内容如下:(本来应该用id传递,即:aa.php?id=$id,但是这里省略无关步骤)<?phprequire('dbconn.php');//member表的photo字段,类型blob$sql="select photo from member where id=18";$query=mysql_query($sql,$conn);$image=mysql_result($query,0,'photo');//----- 1 -------//$fp=fopen("aa.jpg","w");//fwrite($fp,$image);//----- 2 -------header("Content-type:image/pjpeg");echo $image;?>假设最后一张成功的图片id是18,上面是简化了操作的代码。经查询,那张照片的type是pjpeg没错。但是总是显示红色的叉叉,如果直接输入网址aa.php也是红色叉叉。那么我用了上面那个被注释掉的代码段1,结果,确实能够写进当前目录下的aa.jpg文件,证实写进数据库的数据是有效的jpeg文件流。但是现在问题是用了代码段2,怎么也显示不出来。用网址:/aa.php直接显示红色叉叉。用<img src="aa.php" />也是。运行环境:WindowsXP + Apache2.2.3 + MySQL Server5.0.18 + PHP5.2.9。请大家给我指点。谢谢大家了!
展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询