Skip to content →

PHP获取指定地区的天气

在开发网站的时候用到天气查询,由于是基于Wordpress的 所以有很多限制,先建一个【weather.php】的文件,然后看代码:

  1. <?php   
  2. //获取天气  
  3.      $url = ‘http://m.weather.com.cn/data/’;    
  4.      $id = ‘101181101’;  //焦作的代号  
  5.      $data = file_get_contents($url . $id .‘.html’);    
  6.   
  7.   $obj=json_decode($data);  
  8.  echo $obj->weatherinfo->city.‘:’.$obj->weatherinfo->weather1.‘ ‘.$obj->weatherinfo->temp1;  

 

对于:

  1. $url = ‘http://m.weather.com.cn/data/’;    
  2.      $id = ‘101181101’;  //焦作的代号  
  3.      $data = file_get_contents($url . $id .‘.html’);  

可简写为:

  1. $data = file_get_contents(‘http://m.weather.com.cn/data/101181101.html’);  

而对于:

  1. $obj=json_decode($data);  

它是把获取的json数据转化为一个对象,方便调用;

那么最后一句:

  1. echo $obj->weatherinfo->city.‘:’.$obj->weatherinfo->weather1.‘  ‘.$obj->weatherinfo->temp1;  

就是获取指定的数据并按照一定格式输出,

  1. $obj->weatherinfo->city //城市  
  2. $obj->weatherinfo->weather1 //今天的天气  
  3. $obj->weatherinfo->temp1 //今天的气温  

其他参数可以自行访问 http://m.weather.com.cn/data/101181101.html 查看

最后 在需要显示的地方 

  1. <?php include ‘weather.php’ ?>  

即可。

 

Published in Web 编程语言

7 Comments

  1. 我的直接用的新浪的 速度比weather.com.cn好很多

  2. 这是根据IP地址来判断的吗?

    • 不是 根据填入的ID,这个算是死数据。

    • 自己开发中用到的 唉,边学边用啊

发表评论

电子邮件地址不会被公开。 必填项已用*标注