機能:
1、現在のIPアドレスを取得、
2、Sina APIを呼び出し、現在の都市を取得します。
3. 中国語をピンインに変換してジャンプします。
//現在の 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(' DDR」 ) &&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;
}
//現在の IP アドレス
$currentIP = getIp();
//現在の IP から情報を取得します
$getLocation = getLocation($currentIP);
$currentInfo = json_decode($ getLocation , true);
//IP が有効かどうかを判断します
if($currentInfo['ret'] == '-1')
{
$currentInfo['city'] = 'unknown';
}
/ /現在の都市の中国語名
$currentCityName = $currentInfo['city'];
$currentCityEName = $pin->Pinyin("$currentCityName",'UTF8');
//City Pinyin multi-表音文字
switch($ currentCityEName)
{
case 'zhongqing':
$currentCityEName = 'chongqing';
Break;
case 'shenfang':
$currentCityEName = 'shifang';
Break;
case 'chengdou ':
$currentCityEName = '成都';
ブレーク;
case 'yueshan':
$currentCityEName = '楽山';
ブレーク;
case 'junxian':
$currentCityEName = 'xunxian';
ブレーク;
case 'shamen':
$currentCityEName = '厦門';
ブレーク;
case 'zhangsha':
$currentCityEName = '長沙';
take;
case 'weili':
$currentCityEName = 'yuli';ブレーク
;
case 'zhaoyang':
$currentCityEName = 'chaoyang';
Break;
case 'danxian':
$currentCityEName = 'shanxian';
$currentCityEName = $pin- >ピンイン("$ currentCityName",'UTF8');
Break;
}
//ブラウザをリダイレクト
header("Location: http://www.jb51.net");
exit;