根據(jù)ip調(diào)用新浪api獲取城市名并轉(zhuǎn)成拼音
功能:
1,獲取當(dāng)前IP地址,
2,調(diào)用新浪API,獲取到當(dāng)前城市。
3,將中文轉(zhuǎn)換為拼音后跳轉(zhuǎn)。
<?php
include './pinyin.php';
//獲取當(dāng)前ip
function getIp(){
$onlineip='';
if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){
$onlineip=getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')){
$onlineip=getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown')){
$onlineip=getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){
$onlineip=$_SERVER['REMOTE_ADDR'];
}
return $onlineip;
}
//獲取城市信息api
function getLocation($ip){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
$str = curl_exec($curl);
curl_close($curl);
return $str;
}
//當(dāng)前ip地址
$currentIP = getIp();
//通過當(dāng)前ip獲取信息
$getLocation = getLocation($currentIP);
$currentInfo = json_decode($getLocation, true);
//判斷ip是否為有效
if($currentInfo['ret'] == '-1')
{
$currentInfo['city'] = 'unknown';
}
//當(dāng)前城市中文名
$currentCityName = $currentInfo['city'];
$currentCityEName = $pin->Pinyin("$currentCityName",'UTF8');
//城市拼音多音字
switch($currentCityEName)
{
case 'zhongqing':
$currentCityEName = 'chongqing';
break;
case 'shenfang':
$currentCityEName = 'shifang';
break;
case 'chengdou':
$currentCityEName = 'chengdu';
break;
case 'yueshan':
$currentCityEName = 'leshan';
break;
case 'junxian':
$currentCityEName = 'xunxian';
break;
case 'shamen':
$currentCityEName = 'xiamen';
break;
case 'zhangsha':
$currentCityEName = 'changsha';
break;
case 'weili':
$currentCityEName = 'yuli';
break;
case 'zhaoyang':
$currentCityEName = 'chaoyang';
break;
case 'danxian':
$currentCityEName = 'shanxian';
break;
default:
$currentCityEName = $pin->Pinyin("$currentCityName",'UTF8');
break;
}
//重定向瀏覽器
header("Location: http://www.dbjr.com.cn");
exit;
相關(guān)文章
簡單示例AJAX結(jié)合PHP代碼實現(xiàn)登錄效果代碼
比較簡單的通過ajax+php實現(xiàn)登陸功能,這是個簡單的例子,固定字符,實際應(yīng)用中可以從數(shù)據(jù)庫中讀取2008-07-07excellent!——ASCII Art(由目標(biāo)圖象生成ascii)
這篇文章主要介紹了excellent!——ASCII Art2007-02-02Laravel路由設(shè)定和子路由設(shè)定實例分析
這篇文章主要介紹了Laravel路由設(shè)定和子路由設(shè)定方法,結(jié)合實例形式分析了Laravel路由的設(shè)定技巧,需要的朋友可以參考下2016-03-03