您的位置:首页 > 编程语言 > PHP开发

PHP 获取IP 并根据IP获取 城市省份等信息

2015-06-23 15:03 609 查看
$ipInfos = GetIpLookup('123.125.114.144'); //baidu.com IP地址  

var_dump($ipInfos);
 

function getIp(){
if (@$_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (@$_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;

}

//根据IP获取当前城市

function GetIpLookup($ip = ''){

    if(empty($ip)){

        $ip = getIp();

    }

    $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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: