Home >Backend Development >PHP Tutorial >PHP collected weather forecast code examples covering the whole country from the Central Meteorological Observatory_PHP Tutorial

PHP collected weather forecast code examples covering the whole country from the Central Meteorological Observatory_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 09:59:19979browse

Examples of weather forecast codes collected by php from the Central Meteorological Observatory covering the whole country

This article mainly introduces examples of weather forecast codes collected by php from the Central Meteorological Observatory covering the whole country in more detail. It analyzes the collection techniques and the calling techniques of the corresponding interfaces, which has certain reference value. Friends in need can refer to it

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:

The code is as follows:

/*
Author: freemouse
Home page: www.cnphp.info
Interface demo: http://www.cnphp.info/tianqi
Usage: You can directly call the above address to display local weather information, or you can use it like this
http://www.cnphp.info/tianqi/?q=Nanjing, Jiangsu Province
**/

$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;
}
}

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");

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/975903.htmlTechArticlePHP collected from the Central Meteorological Observatory covering the whole country's weather forecast code examples. This article mainly introduces the php collected from the Central Meteorological Observatory. Examples of weather forecast codes covering the whole country, more detailed...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn