手机
当前位置:查字典教程网 >编程开发 >php教程 >php采集自中央气象台范围覆盖全国的天气预报代码实例
php采集自中央气象台范围覆盖全国的天气预报代码实例
摘要:本文实例讲述了php采集自中央气象台范围覆盖全国的天气预报代码。分享给大家供大家参考。具体分析如下:天气预报信息采集自中央气象台,信息准确,...

本文实例讲述了php采集自中央气象台范围覆盖全国的天气预报代码。分享给大家供大家参考。具体分析如下:

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

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" => "台湾"

);

function find(&$item,$key,$data){

global $k;

if(preg_match("/$item/u",$data)){

$k = $key;

}

}

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;

}

array_walk($p_arr,'find',$p);

array_walk(get_data_arr($k),'find',$p);

array_walk(get_data_arr($k),'find',$p);

$ccode = get_data_arr($k);

echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");

希望本文所述对大家的php程序设计有所帮助。

【php采集自中央气象台范围覆盖全国的天气预报代码实例】相关文章:

php线性表的入栈与出栈实例分析

php实现的mongodb操作类实例

php删除指定目录的方法

PHP中的traits实现代码复用使用实例

Classes and Objects in PHP5-面向对象编程 [1]

php对象和数组相互转换的方法

一段php加密解密的代码

php 类自动载入的方法

PHP设计模式之装饰者模式代码实例

php eval函数一句话木马代码

精品推荐
分类导航