php从数据库读取图片是乱码该怎么解决

写入$conn=mysql_connect("localhost","root","123");Mysql_select_db("hjshop",$conn);Mysql... 写入
$conn=mysql_connect("localhost","root","123");
Mysql_select_db("hjshop",$conn);
Mysql_query("set names 'gb2312'");
//判断action
$action=isset($_REQUEST['action'])?$_REQUEST['action']:'';

if($action=='add')
{

$name=$_POST['name'];
$price=$_POST['price'];
$style=$_POST['style'];
$num=$_POST['num'];
$text=$_POST['text'];
$image=mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$type=$_FILES['photo']['type'];
$in = "insert into goods values('','$user','$name','".$image."','$price','$num','".$type."','$text','$style')";
Mysql_query($in) or die(mysql_error());

读取
$conn=mysql_connect("localhost","root","123");
Mysql_select_db("hjshop",$conn);
Mysql_query("set names 'gb2312'");
$q=mysql_query("select * from goods where user='$user'");
while ( $b=mysql_fetch_assoc($q) )
{
$res[]=$b;
?>



<?php

echo '<p><img src="centergoods.php?action=show&id='.$val['id'].'&t='.time().'" width="150"></p>';
header('content-type:'.$b['type']);
echo $b['pic'];



。等等
写入是没问题的 ,读取图片总是乱码,而且headder还有问题
Warning: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\shop\centergoods.php:10) in E:\AppServ\www\shop\goods.php on line 48
求指教啊
展开
 我来答
恋红2010
推荐于2016-11-29 · TA获得超过1961个赞
知道大有可为答主
回答量:1469
采纳率:50%
帮助的人:558万
展开全部
<?php  

echo '<p><img src="centergoods.php?action=show&id='.$val['id'].'&t='.time().'" width="150"></p>';  
        header('content-type:'.$b['type']); 
echo $b['pic'];

................

以上代码在header发送之前有个echo输出了一串字符串.有些header信息要求先发送,之前不能有其他输出.你将header这句放在echo输出之前.

另外,在上面一段代码中,你将上传的图片数据直接保存到数据库中,然后在下面取出来直接发送给浏览器,这是什么逻辑?你发送出去的将是图片的原始数据,浏览器就是按原样显示,一堆乱码.如果你要让它知道这是一张图片,你也得使用header来标识这是图片类型的文件.当然最后是一个单独的php文件处理并输出图片格式的数据供<img>调用.

追问
试过了,还是这个错误。Warning: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\shop\centergoods.php:10) in E:\AppServ\www\shop\goods.php on line 48
追答
这段代码之前有没有其他的输出?包括html输出。
___Hua
2015-11-27 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:21.1万
展开全部
是不是头信息没设置好?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式