Heim > php教程 > php手册 > php 天气预报代码 采集自中央气象台范围覆盖全国

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

WBOY
Freigeben: 2016-05-25 16:38:45
Original
1185 Leute haben es durchsucht

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

php 天气预报代码如下:

<?php
/* 
作者:    freemouse 
 主页:    www.cnphp.info 
 接口demo: http://www.cnphp.info/tianqi 
 用法: 可以直接调用上面的地址会显示当地的天气信息,也可以这样用 
http://www.cnphp.info/tianqi/?q=江苏省南京市 
**/ 
$p = $_get[&#39;q&#39;];  
$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,&#39;find&#39;,$p);  
array_walk(get_data_arr($k),&#39;find&#39;,$p);  
array_walk(get_data_arr($k),&#39;find&#39;,$p);  
$ccode = get_data_arr($k);  
echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");
Nach dem Login kopieren

   


本文链接:

收藏随意^^请保留教程地址.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage