加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

根据ip调用新浪api获取城市名并转成拼音

发布时间:2020-12-12 20:05:38 所属栏目:PHP教程 来源:网络整理
导读:功能:1,获取当前IP地址, 2,调用新浪API,获取到当前城市。 3,将中文转换为拼音后跳转。 代码如下: include './pinyin.php'; //获取当前ip function getIp(){ $onlineip=''; if(getenv('HTTP_CLIENT_IP')strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')

功能:1,获取当前IP地址,
2,调用新浪API,获取到当前城市。
3,将中文转换为拼音后跳转。

代码如下:
include './pinyin.php';

//获取当前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;
}//当前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');//城市拼音多音字
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: //www.52php.cn");
exit;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读