-
- /**
- * php 天気予報コード
- * by bbs.it-home.org
- */
- if(!isset($_GET['q'])){
- //IPに基づいて位置情報をクエリ
- $p = file_get_contents("http : //bbs.it-home.org/ip/?q={$_SERVER['HTTP_X_FORWARDED_FOR']}");
- }
- else{
- $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" => "吉林"、
- "08" => "内モンゴル"、
- "09" => ; " "河北"、
- "10" => "山西"、
- "11" => "陝西"、
- "12" => "山東"、
- "13" => "新疆"、
- "14" => "チベット"、
- "15" => "甘粛省"、
- "18" => ; "河南"、
- "19" => "江蘇"、
- "20" => "湖北"、
- "21" => "浙江"、
- "22" => "安徽"、
- "23" = > "福建"、
- "24" =>、
- "25" => "貴州"、
- "27" =>
- "28" => "広東"、
- "29" => "広西"、
- "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 は yahoo Sina API 天気予報実装コードを呼び出します
Google Weather APIを呼び出すPHPのサンプルコード
現在の天気情報を取得するための Google API php コード
|