php调用图片乱码问题

WBOY
发布: 2016-06-20 12:52:54
原创
1323 人浏览过

<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


回复讨论(解决方案)

你在一个页面中输出了两种类型的数据,浏览器不知道怎么把他们分开。于是就 乱码

你需要将
$wea = "http://1.alilo.sinaapp.com/Weather/0.jpeg";
$weai = imagecreatefromgif($wea);
header("Content-type:image/jpeg");
imagejpeg($weai);
改为
echo 'php调用图片乱码问题';

如果你确实想通过抓取图片的方式了完成,那么需要将那4行单独写成文件,比如 wea.php
然后通过标记
php调用图片乱码问题
去调用

你在一个页面中输出了两种类型的数据,浏览器不知道怎么把他们分开。于是就 乱码

你需要将
$wea = "http://1.alilo.sinaapp.com/Weather/0.jpeg";
$weai = imagecreatefromgif($wea);
header("Content-type:image/jpeg");
imagejpeg($weai);
改为
echo 'php调用图片乱码问题';

如果你确实想通过抓取图片的方式了完成,那么需要将那4行单独写成文件,比如 wea.php
然后通过标记
php调用图片乱码问题
去调用



这一节功能是不要的,是我后面加上去测试用,主要是“foreach”后面的代码。按照你的改玩以后,foreach的代码还是显示乱码,求解。。

你不都是
$img = imagecreatefromgif($path);
header("Content-type:image/gif");
imagegif($img);
这样的吗?
一样的问题就不会举一反三吗?

<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.'" alt="php调用图片乱码问题" >';	   echo "<br/>";	    echo "<br/>";        //  echo "< img src = "{$val['dayPictureUrl']}" />";       echo "风向:{$val['wind']}<br/>";       echo "温度:{$val['temperature']}<br/><br />";          }           ?>
登录后复制
登录后复制

<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.'" alt="php调用图片乱码问题" >';	   echo "<br/>";	    echo "<br/>";        //  echo "< img src = "{$val['dayPictureUrl']}" />";       echo "风向:{$val['wind']}<br/>";       echo "温度:{$val['temperature']}<br/><br />";          }           ?>
登录后复制
登录后复制



原来是这一句少了个单引号!echo 'php调用图片乱码问题';           Thank you very much。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!