php调用图片乱码问题

绿tea 2015-07-14 03:08:28

<meta charset="UTF-8">
<?php
//城市名
$city = '长沙';
//获取json格式的数据
$str = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=".$city."&output=json&ak=KXrZyXh5wUSBEdo5TkgRQkBz");

//对json格式的字符串进行编码
$arr = json_decode($str,TRUE);

echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."<br /><br />";

$wea = "http://1.alilo.sinaapp.com/Weather/0.jpeg";
$weai = imagecreatefromgif($wea);
header("Content-type:image/jpeg");
imagejpeg($weai);

foreach($arr['results'][0]['weather_data']as $val)
{
echo $val['date']."<br/>";
echo "天气:{$val['weather']}<br/>";

$path = "{$val['dayPictureUrl']}";
echo "$path";
$imgInfo = getimagesize($path);
$imgType = $imgInfo[2];
switch ($imgType) {
case 1:
$img = imagecreatefromgif($path);
header("Content-type:image/gif");
imagegif($img);
break;
case 2 :
$img = imagecreatefromjpeg($path);
header("Content-type:image/jpeg");
imagejpeg($img);
break;
case 3 :
$img = imagecreatefrompng($path);
header("Content-type:image/png");
imagepng($img);
break;
default:
exit("图片格式不支持");
}
echo "<br/>";
// echo "< img src = "{$val['dayPictureUrl']}" />";
echo "风向:{$val['wind']}<br/>";
echo "温度:{$val['temperature']}<br/><br />";
}
?>

代码如上所示,输出来的是一串乱码。
网站:http://1.alilo.sinaapp.com/Weather/Weather.php
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿tea 2015-07-14
  • 打赏
  • 举报
回复
引用 4 楼 lirenbing008 的回复:

<meta charset="UTF-8">
<?php
	//城市名
    $city = "长沙";
    //获取json格式的数据
	 $string ="http://api.map.baidu.com/telematics/v3/weather?location=".$city."&output=json&ak=KXrZyXh5wUSBEdo5TkgRQkBz";
    $str = file_get_contents($string);
 
 	//echo $str;
    //对json格式的字符串进行编码
    $arr = json_decode($str,TRUE);       
 
 
   foreach($arr['results'][0]['weather_data']as $val)
    {
       echo $val['date']."<br/>";
       echo "天气:{$val['weather']}<br/>";
         
       $path = "{$val['dayPictureUrl']}";
     	echo '<img src="'.$path.'">';
	   echo "<br/>";
	    echo "<br/>";
        //  echo "< img src = "{$val['dayPictureUrl']}" />";
       echo "风向:{$val['wind']}<br/>";
       echo "温度:{$val['temperature']}<br/><br />";
      
    }  
     
    
?>
原来是这一句少了个单引号!echo '<img src="'.$path.'">'; Thank you very much。
lirenbing008 2015-07-14
  • 打赏
  • 举报
回复

<meta charset="UTF-8">
<?php
	//城市名
    $city = "长沙";
    //获取json格式的数据
	 $string ="http://api.map.baidu.com/telematics/v3/weather?location=".$city."&output=json&ak=KXrZyXh5wUSBEdo5TkgRQkBz";
    $str = file_get_contents($string);
 
 	//echo $str;
    //对json格式的字符串进行编码
    $arr = json_decode($str,TRUE);       
 
 
   foreach($arr['results'][0]['weather_data']as $val)
    {
       echo $val['date']."<br/>";
       echo "天气:{$val['weather']}<br/>";
         
       $path = "{$val['dayPictureUrl']}";
     	echo '<img src="'.$path.'">';
	   echo "<br/>";
	    echo "<br/>";
        //  echo "< img src = "{$val['dayPictureUrl']}" />";
       echo "风向:{$val['wind']}<br/>";
       echo "温度:{$val['temperature']}<br/><br />";
      
    }  
     
    
?>
xuzuning 2015-07-14
  • 打赏
  • 举报
回复
你不都是 $img = imagecreatefromgif($path); header("Content-type:image/gif"); imagegif($img); 这样的吗? 一样的问题就不会举一反三吗?
绿tea 2015-07-14
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你在一个页面中输出了两种类型的数据,浏览器不知道怎么把他们分开。于是就乱码了 你需要将 $wea = "http://1.alilo.sinaapp.com/Weather/0.jpeg"; $weai = imagecreatefromgif($wea); header("Content-type:image/jpeg"); imagejpeg($weai); 改为 echo '<img src="http://1.alilo.sinaapp.com/Weather/0.jpeg">'; 如果你确实想通过抓取图片的方式了完成,那么需要将那4行单独写成文件,比如 wea.php 然后通过标记 <img src=wea.php> 去调用
这一节功能是不要的,是我后面加上去测试用,主要是“foreach”后面的代码。按照你的改玩以后,foreach的代码还是显示乱码,求解。。
xuzuning 2015-07-14
  • 打赏
  • 举报
回复
你在一个页面中输出了两种类型的数据,浏览器不知道怎么把他们分开。于是就乱码了 你需要将 $wea = "http://1.alilo.sinaapp.com/Weather/0.jpeg"; $weai = imagecreatefromgif($wea); header("Content-type:image/jpeg"); imagejpeg($weai); 改为 echo '<img src="http://1.alilo.sinaapp.com/Weather/0.jpeg">'; 如果你确实想通过抓取图片的方式了完成,那么需要将那4行单独写成文件,比如 wea.php 然后通过标记 <img src=wea.php> 去调用

21,873

社区成员

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

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