php采集自中央氣象臺(tái)范圍覆蓋全國(guó)的天氣預(yù)報(bào)代碼實(shí)例
本文實(shí)例講述了php采集自中央氣象臺(tái)范圍覆蓋全國(guó)的天氣預(yù)報(bào)代碼。分享給大家供大家參考。具體分析如下:
天氣預(yù)報(bào)信息采集自中央氣象臺(tái),信息準(zhǔn)確,覆蓋面廣,代碼簡(jiǎn)單,返回是json代碼,可以用于客戶端調(diào)用,也可以在服務(wù)器端處理后顯示,筆者的wordpress天氣預(yù)報(bào)插件就是使用的這段代碼,需要注意的是,這段代碼會(huì)在服務(wù)器產(chǎn)生緩存文件,需要在當(dāng)前目錄中新建data文件夾,保證文件夾可寫.
php天氣預(yù)報(bào)代碼如下:
作者: freemouse
主頁(yè): www.cnphp.info
接口demo: http://www.cnphp.info/tianqi
用法: 可以直接調(diào)用上面的地址會(huì)顯示當(dāng)?shù)氐奶鞖庑畔?,也可以這樣用
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" => "內(nèi)蒙古",
"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" => "臺(tái)灣"
);
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");
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- PHP調(diào)用API接口實(shí)現(xiàn)天氣查詢功能的示例
- PHP微信開發(fā)之查詢城市天氣
- php使用百度天氣接口示例
- PHP實(shí)現(xiàn)采集中國(guó)天氣網(wǎng)未來(lái)7天天氣
- php結(jié)合飛信 免費(fèi)天氣預(yù)報(bào)短信
- PHP+AJAX無(wú)刷新實(shí)現(xiàn)返回天氣預(yù)報(bào)數(shù)據(jù)
- PHP 獲取指定地區(qū)的天氣實(shí)例代碼
- php實(shí)現(xiàn)的百度搜索某地天氣的小偷代碼
- PHP Ajax JavaScript Json獲取天氣信息實(shí)現(xiàn)代碼
- php微信開發(fā)之百度天氣預(yù)報(bào)
- PHP調(diào)用全國(guó)天氣預(yù)報(bào)數(shù)據(jù)接口查詢天氣示例
相關(guān)文章
PHP Memcached應(yīng)用實(shí)現(xiàn)代碼
在很多場(chǎng)合,我們都會(huì)聽到 memcached 這個(gè)名字,但很多同學(xué)只是聽過(guò),并沒有用過(guò)或?qū)嶋H了解過(guò),只知道它是一個(gè)很不錯(cuò)的東東。這里簡(jiǎn)單介紹一下,memcached 是高效、快速的分布式內(nèi)存對(duì)象緩存系統(tǒng),主要用于加速 WEB 動(dòng)態(tài)應(yīng)用程序。2010-02-02淺析php過(guò)濾html字符串,防止SQL注入的方法
本篇文章是對(duì)php中過(guò)濾html字符串,防止SQL注入的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07PHP7原生MySQL數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)代碼
php7已經(jīng)沒有mysql這個(gè)擴(kuò)展了,好多貼還是按照以前的方法講,讓我這個(gè)新手來(lái)回找了好多遍都沒找到mysql,php7用后面兩個(gè)鏈接數(shù)據(jù)庫(kù),千萬(wàn)不要傻傻去找也不要去來(lái)回拷貝什么dll之類的2020-07-07PHP中通過(guò)ADODB庫(kù)實(shí)現(xiàn)調(diào)用Access數(shù)據(jù)庫(kù)之修正版本
PHP中通過(guò)ADODB庫(kù)實(shí)現(xiàn)調(diào)用Access數(shù)據(jù)庫(kù)之修正版本...2006-12-12PHP curl 獲取響應(yīng)的狀態(tài)碼的方法
PHP curl可以從服務(wù)器端模擬一個(gè)http請(qǐng)求,例如抓取網(wǎng)頁(yè)、模擬登陸等,想要獲取狀態(tài)碼,需要在執(zhí)行curl_exec后再通過(guò)curl_getinfo來(lái)獲取2014-01-01php中g(shù)et_defined_constants函數(shù)用法實(shí)例分析
這篇文章主要介紹了php中g(shù)et_defined_constants函數(shù)用法,實(shí)例分析了get_defined_constants函數(shù)的功能、定義及使用技巧,需要的朋友可以參考下2015-05-05簡(jiǎn)單實(shí)現(xiàn)php上傳文件功能
這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)php上傳文件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09如何修改和添加Apache的默認(rèn)站點(diǎn)目錄
本篇文章是對(duì)修改和添加Apache的默認(rèn)站點(diǎn)目錄方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07