根据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");
    });
    
});

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