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