Home >Backend Development >PHP Tutorial >PHP collected weather forecast code examples covering the entire country from the Central Meteorological Observatory, Central Meteorological Observatory Weather Forecast_PHP Tutorial
The example in this article describes the weather forecast code collected by PHP from the Central Meteorological Observatory covering the whole country. Share it with everyone for your reference. The specific analysis is as follows:
Weather forecast information is collected from the Central Meteorological Observatory. The information is accurate, wide coverage, and the code is simple. The return is json code, which can be used for client calls or displayed after processing on the server side. The author's WordPress weather forecast plug-in is used Please note that this code will generate a cache file on the server. You need to create a new data folder in the current directory to ensure that the folder is writable.
php weather forecast code is as follows:
$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" => "Beijing",
"02" => "Shanghai",
"03" => "Tianjin",
"04" => "Chongqing",
"05" => "Heilongjiang",
"06" => "Jilin",
"07" => "Liaoning",
"08" => "Inner Mongolia",
"09" => "Hebei",
"10" => "Shanxi",
"11" => "Shaanxi",
"12" => "Shandong",
"13" => "Xinjiang",
"14" => "Tibet",
"15" => "Qinghai",
"16" => "Gansu",
"17" => "Ningxia",
"18" => "Henan",
"19" => "Jiangsu",
"20" => "Hubei",
"21" => "Zhejiang",
"22" => "Anhui",
"23" => "Fujian",
"24" => "Jiangxi",
"25" => "Hunan",
"26" => "Guizhou",
"27" => "Sichuan",
"28" => "Guangdong",
"29" => "Yunnan",
"30" => "Guangxi",
"31" => "Hainan",
"32" => "Hong Kong",
"33" => "Macau",
"34" => "Taiwan"
);
function find(&$item,$key,$data){
global $k;
If(preg_match("/$item/u",$data)){
$k = $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);
$ccode = get_data_arr($k);
echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");
I hope this article will be helpful to everyone’s PHP programming design.