根據IP獲取所在地天氣

    // 獲取所在城市ip
   
    public function get_real_ip(){
        $ip=false;
        if(!empty($_SERVER["HTTP_CLIENT_IP"])){
            $ip = $_SERVER["HTTP_CLIENT_IP"];
        }
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
                if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
                for ($i = 0; $i < count($ips); $i++) {
                       if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
                               $ip = $ips[$i];
                               break;
                       }
                }
        }
        return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);

    }

 

 
     // 根據ip獲取所在城市
    
    public     function GetIpLookup($ip){
        $res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip);
        if(empty($res)){ return false; }
        $jsonMatches = array();
        preg_match('#\{.+?\}#', $res, $jsonMatches);
        if(!isset($jsonMatches[0])){ return false; }
        $json = json_decode($jsonMatches[0], true);
        if(isset($json['ret']) && $json['ret'] == 1){
            $json['ip'] = $ip;
            unset($json['ret']);
        }else{
            return false;
        }
        return $json;
    }

    //城市id
class citycode{
    function  getcity($city){
         $citycode = array(
                '北京'=>'101010100',
                '朝陽'=>'101010300',
                '順義'=>'101010400',
                '懷柔'=>'101010500',
                '通州'=>'101010600',
                '昌平'=>'101010700',
                '延慶'=>'101010800',
                '豐臺'=>'101010900',
                '石景山'=>'101011000',
                '大興'=>'101011100',
                '房山'=>'101011200',
                '密雲'=>'101011300',
                '門頭溝'=>'101011400',
                '平谷'=>'101011500',
                '八達嶺'=>'101011600',
                '佛爺頂'=>'101011700',
                '湯河口'=>'101011800',
                '密雲上甸子'=>'101011900',
                '齋堂'=>'101012000',
                '霞雲嶺'=>'101012100',
                '北京城區'=>'101012200',
                '海淀'=>'101010200',
                '天津'=>'101030100',
                '寶坻'=>'101030300',
                '東麗'=>'101030400',
                '西青'=>'101030500',
                '北辰'=>'101030600',
                '薊縣'=>'101031400',
                '漢沽'=>'101030800',
                '靜海'=>'101030900',
                '津南'=>'101031000',
                '塘沽'=>'101031100',
                '大港'=>'101031200',
                '武清'=>'101030200',
                '寧河'=>'101030700',
                '上海'=>'101020100',
                '寶山'=>'101020300',
                '嘉定'=>'101020500',
                '南匯'=>'101020600',
                '浦東'=>'101021300',
                '青浦'=>'101020800',
                '松江'=>'101020900',
                '奉賢'=>'101021000',
                '崇明'=>'101021100',
                '徐家彙'=>'101021200',
                '閔行'=>'101020200',
                '金山'=>'101020700',
                '石家莊'=>'101090101',
                '張家口'=>'101090301',
                '承德'=>'101090402',
                '唐山'=>'101090501',
                '秦皇島'=>'101091101',
                '滄州'=>'101090701',
                '衡水'=>'101090801',
                '邢臺'=>'101090901',
                '邯鄲'=>'101091001',
                '保定'=>'101090201',
                '廊坊'=>'101090601',
                '鄭州'=>'101180101',
                '新鄉'=>'101180301',
                '許昌'=>'101180401',
                '平頂山'=>'101180501',
                '信陽'=>'101180601',
                '南陽'=>'101180701',
                '開封'=>'101180801',
                '洛陽'=>'101180901',
                '商丘'=>'101181001',
                '焦作'=>'101181101',
                '鶴壁'=>'101181201',
                '濮陽'=>'101181301',
                '周口'=>'101181401',
                '漯河'=>'101181501',
                '駐馬店'=>'101181601',
                '三門峽'=>'101181701',
                '濟源'=>'101181801',
                '安陽'=>'101180201',
                '合肥'=>'101220101',
                '蕪湖'=>'101220301',
                '淮南'=>'101220401',
                '馬鞍山'=>'101220501',
                '安慶'=>'101220601',
                '宿州'=>'101220701',
                '阜陽'=>'101220801',
                '亳州'=>'101220901',
                '黃山'=>'101221001',
                '滁州'=>'101221101',
                '淮北'=>'101221201',
                '銅陵'=>'101221301',
                '宣城'=>'101221401',
                '六安'=>'101221501',
                '巢湖'=>'101221601',
                '池州'=>'101221701',
                '蚌埠'=>'101220201',
                '杭州'=>'101210101',
                '舟山'=>'101211101',
                '湖州'=>'101210201',
                '嘉興'=>'101210301',
                '金華'=>'101210901',
                '紹興'=>'101210501',
                '台州'=>'101210601',
                '溫州'=>'101210701',
                '麗水'=>'101210801',
                '衢州'=>'101211001',
                '寧波'=>'101210401',
                '重慶'=>'101040100',
                '合川'=>'101040300',
                '南川'=>'101040400',
                '江津'=>'101040500',
                '萬盛'=>'101040600',
                '渝北'=>'101040700',
                '北碚'=>'101040800',
                '巴南'=>'101040900',
                '長壽'=>'101041000',
                '黔江'=>'101041100',
                '萬州天城'=>'101041200',
                '萬州龍寶'=>'101041300',
                '涪陵'=>'101041400',
                '開縣'=>'101041500',
                '城口'=>'101041600',
                '雲陽'=>'101041700',
                '巫溪'=>'101041800',
                '奉節'=>'101041900',
                '巫山'=>'101042000',
                '潼南'=>'101042100',
                '墊江'=>'101042200',
                '梁平'=>'101042300',
                '忠縣'=>'101042400',
                '石柱'=>'101042500',
                '大足'=>'101042600',
                '榮昌'=>'101042700',
                '銅梁'=>'101042800',
                '璧山'=>'101042900',
                '豐都'=>'101043000',
                '武隆'=>'101043100',
                '彭水'=>'101043200',
                '綦江'=>'101043300',
                '酉陽'=>'101043400',
                '秀山'=>'101043600',
                '沙坪壩'=>'101043700',
                '永川'=>'101040200',
                '福州'=>'101230101',
                '泉州'=>'101230501',
                '漳州'=>'101230601',
                '龍巖'=>'101230701',
                '晉江'=>'101230509',
                '南平'=>'101230901',
                '廈門'=>'101230201',
                '寧德'=>'101230301',
                '莆田'=>'101230401',
                '三明'=>'101230801',
                '蘭州'=>'101160101',
                '平涼'=>'101160301',
                '慶陽'=>'101160401',
                '武威'=>'101160501',
                '金昌'=>'101160601',
                '嘉峪關'=>'101161401',
                '酒泉'=>'101160801',
                '天水'=>'101160901',
                '武都'=>'101161001',
                '臨夏'=>'101161101',
                '合作'=>'101161201',
                '白銀'=>'101161301',
                '定西'=>'101160201',
                '張掖'=>'101160701',
                '廣州'=>'101280101',
                '惠州'=>'101280301',
                '梅州'=>'101280401',
                '汕頭'=>'101280501',
                '深圳'=>'101280601',
                '珠海'=>'101280701',
                '佛山'=>'101280800',
                '肇慶'=>'101280901',
                '湛江'=>'101281001',
                '江門'=>'101281101',
                '河源'=>'101281201',
                '清遠'=>'101281301',
                '雲浮'=>'101281401',
                '潮州'=>'101281501',
                '東莞'=>'101281601',
                '中山'=>'101281701',
                '陽江'=>'101281801',
                '揭陽'=>'101281901',
                '茂名'=>'101282001',
                '汕尾'=>'101282101',
                '韶關'=>'101280201',
                '南寧'=>'101300101',
                '柳州'=>'101300301',
                '來賓'=>'101300401',
                '桂林'=>'101300501',
                '梧州'=>'101300601',
                '防城港'=>'101301401',
                '貴港'=>'101300801',
                '玉林'=>'101300901',
                '百色'=>'101301001',
                '欽州'=>'101301101',
                '河池'=>'101301201',
                '北海'=>'101301301',
                '崇左'=>'101300201',
                '賀州'=>'101300701',
                '貴陽'=>'101260101',
                '安順'=>'101260301',
                '都勻'=>'101260401',
                '興義'=>'101260906',
                '銅仁'=>'101260601',
                '畢節'=>'101260701',
                '六盤水'=>'101260801',
                '遵義'=>'101260201',
                '凱里'=>'101260501',
                '昆明'=>'101290101',
                '紅河'=>'101290301',
                '文山'=>'101290601',
                '玉溪'=>'101290701',
                '楚雄'=>'101290801',
                '普洱'=>'101290901',
                '昭通'=>'101291001',
                '臨滄'=>'101291101',
                '怒江'=>'101291201',
                '香格里拉'=>'101291301',
                '麗江'=>'101291401',
                '德宏'=>'101291501',
                '景洪'=>'101291601',
                '大理'=>'101290201',
                '曲靖'=>'101290401',
                '保山'=>'101290501',
                '呼和浩特'=>'101080101',
                '烏海'=>'101080301',
                '集寧'=>'101080401',
                '通遼'=>'101080501',
                '阿拉善左旗'=>'101081201',
                '鄂爾多斯'=>'101080701',
                '臨河'=>'101080801',
                '錫林浩特'=>'101080901',
                '呼倫貝爾'=>'101081000',
                '烏蘭浩特'=>'101081101',
                '包頭'=>'101080201',
                '赤峯'=>'101080601',
                '南昌'=>'101240101',
                '上饒'=>'101240301',
                '撫州'=>'101240401',
                '宜春'=>'101240501',
                '鷹潭'=>'101241101',
                '贛州'=>'101240701',
                '景德鎮'=>'101240801',
                '萍鄉'=>'101240901',
                '新餘'=>'101241001',
                '九江'=>'101240201',
                '吉安'=>'101240601',
                '武漢'=>'101200101',
                '黃岡'=>'101200501',
                '荊州'=>'101200801',
                '宜昌'=>'101200901',
                '恩施'=>'101201001',
                '十堰'=>'101201101',
                '神農架'=>'101201201',
                '隨州'=>'101201301',
                '荊門'=>'101201401',
                '天門'=>'101201501',
                '仙桃'=>'101201601',
                '潛江'=>'101201701',
                '襄樊'=>'101200201',
                '鄂州'=>'101200301',
                '孝感'=>'101200401',
                '黃石'=>'101200601',
                '咸寧'=>'101200701',
                '成都'=>'101270101',
                '自貢'=>'101270301',
                '綿陽'=>'101270401',
                '南充'=>'101270501',
                '達州'=>'101270601',
                '遂寧'=>'101270701',
                '廣安'=>'101270801',
                '巴中'=>'101270901',
                '瀘州'=>'101271001',
                '宜賓'=>'101271101',
                '內江'=>'101271201',
                '資陽'=>'101271301',
                '樂山'=>'101271401',
                '眉山'=>'101271501',
                '涼山'=>'101271601',
                '雅安'=>'101271701',
                '甘孜'=>'101271801',
                '阿壩'=>'101271901',
                '德陽'=>'101272001',
                '廣元'=>'101272101',
                '攀枝花'=>'101270201',
                '銀川'=>'101170101',
                '中衛'=>'101170501',
                '固原'=>'101170401',
                '石嘴山'=>'101170201',
                '吳忠'=>'101170301',
                '西寧'=>'101150101',
                '黃南'=>'101150301',
                '海北'=>'101150801',
                '果洛'=>'101150501',
                '玉樹'=>'101150601',
                '海西'=>'101150701',
                '海東'=>'101150201',
                '海南'=>'101150401',
                '濟南'=>'101120101',
                '濰坊'=>'101120601',
                '臨沂'=>'101120901',
                '菏澤'=>'101121001',
                '濱州'=>'101121101',
                '東營'=>'101121201',
                '威海'=>'101121301',
                '棗莊'=>'101121401',
                '日照'=>'101121501',
                '萊蕪'=>'101121601',
                '聊城'=>'101121701',
                '青島'=>'101120201',
                '淄博'=>'101120301',
                '德州'=>'101120401',
                '煙臺'=>'101120501',
                '濟寧'=>'101120701',
                '泰安'=>'101120801',
                '西安'=>'101110101',
                '延安'=>'101110300',
                '榆林'=>'101110401',
                '銅川'=>'101111001',
                '商洛'=>'101110601',
                '安康'=>'101110701',
                '漢中'=>'101110801',
                '寶雞'=>'101110901',
                '咸陽'=>'101110200',
                '渭南'=>'101110501',
                '太原'=>'101100101',
                '臨汾'=>'101100701',
                '運城'=>'101100801',
                '朔州'=>'101100901',
                '忻州'=>'101101001',
                '長治'=>'101100501',
                '大同'=>'101100201',
                '陽泉'=>'101100301',
                '晉中'=>'101100401',
                '晉城'=>'101100601',
                '呂梁'=>'101101100',
                '烏魯木齊'=>'101130101',
                '石河子'=>'101130301',
                '昌吉'=>'101130401',
                '吐魯番'=>'101130501',
                '庫爾勒'=>'101130601',
                '阿拉爾'=>'101130701',
                '阿克蘇'=>'101130801',
                '喀什'=>'101130901',
                '伊寧'=>'101131001',
                '塔城'=>'101131101',
                '哈密'=>'101131201',
                '和田'=>'101131301',
                '阿勒泰'=>'101131401',
                '阿圖什'=>'101131501',
                '博樂'=>'101131601',
                '克拉瑪依'=>'101130201',
                '拉薩'=>'101140101',
                '山南'=>'101140301',
                '阿里'=>'101140701',
                '昌都'=>'101140501',
                '那曲'=>'101140601',
                '日喀則'=>'101140201',
                '林芝'=>'101140401',
                '臺北縣'=>'101340101',
                '高雄'=>'101340201',
                '臺中'=>'101340401',
                '海口'=>'101310101',
                '三亞'=>'101310201',
                '東方'=>'101310202',
                '臨高'=>'101310203',
                '澄邁'=>'101310204',
                '儋州'=>'101310205',
                '昌江'=>'101310206',
                '白沙'=>'101310207',
                '瓊中'=>'101310208',
                '定安'=>'101310209',
                '屯昌'=>'101310210',
                '瓊海'=>'101310211',
                '文昌'=>'101310212',
                '保亭'=>'101310214',
                '萬寧'=>'101310215',
                '陵水'=>'101310216',
                '西沙'=>'101310217',
                '南沙島'=>'101310220',
                '樂東'=>'101310221',
                '五指山'=>'101310222',
                '瓊山'=>'101310102',
                '長沙'=>'101250101',
                '株洲'=>'101250301',
                '衡陽'=>'101250401',
                '郴州'=>'101250501',
                '常德'=>'101250601',
                '益陽'=>'101250700',
                '婁底'=>'101250801',
                '邵陽'=>'101250901',
                '岳陽'=>'101251001',
                '張家界'=>'101251101',
                '懷化'=>'101251201',
                '黔陽'=>'101251301',
                '永州'=>'101251401',
                '吉首'=>'101251501',
                '湘潭'=>'101250201',
                '南京'=>'101190101',
                '鎮江'=>'101190301',
                '蘇州'=>'101190401',
                '南通'=>'101190501',
                '揚州'=>'101190601',
                '宿遷'=>'101191301',
                '徐州'=>'101190801',
                '淮安'=>'101190901',
                '連雲港'=>'101191001',
                '常州'=>'101191101',
                '泰州'=>'101191201',
                '無錫'=>'101190201',
                '鹽城'=>'101190701',
                '哈爾濱'=>'101050101',
                '牡丹江'=>'101050301',
                '佳木斯'=>'101050401',
                '綏化'=>'101050501',
                '黑河'=>'101050601',
                '雙鴨山'=>'101051301',
                '伊春'=>'101050801',
                '大慶'=>'101050901',
                '七臺河'=>'101051002',
                '雞西'=>'101051101',
                '鶴崗'=>'101051201',
                '齊齊哈爾'=>'101050201',
                '大興安嶺'=>'101050701',
                '長春'=>'101060101',
                '延吉'=>'101060301',
                '四平'=>'101060401',
                '白山'=>'101060901',
                '白城'=>'101060601',
                '遼源'=>'101060701',
                '松原'=>'101060801',
                '吉林'=>'101060201',
                '通化'=>'101060501',
                '瀋陽'=>'101070101',
                '鞍山'=>'101070301',
                '撫順'=>'101070401',
                '本溪'=>'101070501',
                '丹東'=>'101070601',
                '葫蘆島'=>'101071401',
                '營口'=>'101070801',
                '阜新'=>'101070901',
                '遼陽'=>'101071001',
                '鐵嶺'=>'101071101',
                '朝陽'=>'101071201',
                '盤錦'=>'101071301',
                '大連'=>'101070201',
                '錦州'=>'101070701'
         );
         return $citycode[$city];
    }
}
      //根據城市id返回json數據

        $citycode = new citycode();
        $cityid=$citycode->getcity($city);
        if(empty($cityid)){
            echo "您輸入的城市不在範圍內";
        }else{
            echo file_get_contents("http://www.weather.com.cn/data/cityinfo/".$cityid.".html");
        }  

      //前端ajax代碼,可根據天氣自定義圖片樣式

     $(function(){
    
    $("#submit").click(function(){
        //發送ajax請求
        var city = $("#city").val();
        $.post("getweather.php", {city:city}, function(data){
            if(data.weatherinfo.city){
                var city = data.weatherinfo.city;   //城市名稱
                var temp1 = data.weatherinfo.temp1;        //最高氣溫
                var temp2 = data.weatherinfo.temp2;        //最低氣溫
                var weather = data.weatherinfo.weather;        //天氣描述(“晴到多雲”)
                alert(city+":"+weather+","+temp2+"-"+temp1);  
                return;
            }else{
                alert("沒找到該城市");
            }
        },"json");
    });
    
});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章