加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php采集自中央气象台范围覆盖全国的天气预报代码实例

发布时间:2020-12-13 02:19:34 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:php采集自中央气象台范围覆盖全国的天气预报代码实例》要点: 本文介绍了PHP实战:php采集自中央气象台范围覆盖全国的天气预报代码实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php采集自中央气象台范围覆盖全国的天气预报代码

《PHP实战:php采集自中央气象台范围覆盖全国的天气预报代码实例》要点:
本文介绍了PHP实战:php采集自中央气象台范围覆盖全国的天气预报代码实例,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解php采集自中央气象台范围覆盖全国的天气预报代码.分享给大家供大家参考.具体分析如下:PHP实例

天气预报信息采集自中央气象台,信息准确,覆盖面广,代码简单,返回是json代码,可以用于客户端调用,也可以在服务器端处理后显示,笔者的wordpress天气预报插件就是使用的这段代码,需要注意的是,这段代码会在服务器产生缓存文件,需要在当前目录中新建data文件夹,保证文件夹可写.PHP实例

php天气预报代码如下:
PHP实例

代码如下:
/*
作者:??? freemouse
主页:??? www.cnphp.info
接口demo: http://www.cnphp.info/tianqi
用法: 可以直接调用上面的地址会显示当地的天气信息,也可以这样用
http://www.cnphp.info/tianqi/?q=江苏省南京市
**/

$p = $_get['q'];?
$k = 0;?
$encoding = mb_detect_encoding($p);?
if($encoding != "utf-8"){?
??????? $p = mb_convert_encoding($p,"utf-8","gbk");?
}?
$p_arr = array(?
?????? "01" => "北京",?
????? "02" => "上海",?
????? "03" => "天津",?
????? "04" => "重庆",?
????? "05" => "黑龙江",?
????? "06" => "吉林",?
????? "07" => "辽宁",?
????? "08" => "内蒙古",?
????? "09" => "河北",?
????? "10" => "山西",?
????? "11" => "陕西",?
????? "12" => "山东",?
????? "13" => "新疆",?
????? "14" => "西藏",?
????? "15" => "青海",?
????? "16" => "甘肃",?
????? "17" => "宁夏",?
????? "18" => "河南",?
????? "19" => "江苏",?
????? "20" => "湖北",?
????? "21" => "浙江",?
????? "22" => "安徽",?
????? "23" => "福建",?
????? "24" => "江西",?
????? "25" => "湖南",?
????? "26" => "贵州",?
????? "27" => "四川",?
????? "28" => "广东",?
????? "29" => "云南",?
????? "30" => "广西",?
????? "31" => "海南",?
????? "32" => "香港",?
????? "33" => "澳门",?
????? "34" => "台湾"
);?PHP实例

function find(&$item,$key,$data){?
??????? global $k;?
??????? if(preg_match("/$item/u",$data)){?
?????????? $k = $key;?
??????? }?
}?PHP实例

function get_data_arr($key){?
??????? if(!file_exists("./data/city{$key}.xml")){?
??????????? $c =file_get_contents( "http://m.weather.com.cn/data5/city{$key}.xml" );?
??????????? file_put_contents("./data/city{$key}.xml",$c);?
??????? }?
??????? else{?
??????????? $c = file_get_contents("./data/city{$key}.xml");?
??????? }?
?????? $arr = explode(",",$c);?
?????? foreach($arr as $v){?
?????????? $data = explode("|",$v);?
?????????? $ret[$data[0]] = $data[1];?
?????? }
?????? return $ret;?
}?PHP实例

array_walk($p_arr,'find',$p);?
array_walk(get_data_arr($k),$p);?
$ccode = get_data_arr($k);?
echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");PHP实例

希望本文所述对大家的php程序设计有所赞助.PHP实例

欢迎参与《PHP实战:php采集自中央气象台范围覆盖全国的天气预报代码实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读