当前位置 : 主页 > 网络编程 > PHP >

php 获取IP与IP所在城市

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt /** * 获取 IP 地理位置 * 淘宝IP接口 * 说明:新浪的接口,直接能获取到地址信息,淘宝的接口需要提供ip,不过获取的信息更全面 * @Return: array */function getCity($ip = ''){ if($ip =
gistfile1.txt
/**
 * 获取 IP  地理位置
 * 淘宝IP接口
 * 说明:新浪的接口,直接能获取到地址信息,淘宝的接口需要提供ip,不过获取的信息更全面
 * @Return: array
 */
function getCity($ip = '')
{
    if($ip == ''){
        $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json";
        $ip=json_decode(file_get_contents($url),true);
        $data = $ip;
    }else{
        $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
        $ip=json_decode(file_get_contents($url));   
        if((string)$ip->code=='1'){
           return false;
        }
        $data = (array)$ip->data;
    }
    
    return $data;   
}

/**
 * 根据腾讯IP分享计划的地址获取IP所在地,比较精确
 * @param  [type] $queryIP [description]
 * @return [type]          [description]
 */
public function getCity_QQ($queryIP){
    $url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP;

    $ch = curl_init($url);
    // curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
    $result = curl_exec($ch);
    // $result = mb_convert_encoding($result, "utf-8", "gb2312"); // 编码转换,否则乱码
    curl_close($ch);

    preg_match("@(.*)@iU", $result, $ipArray);
    $loc = $ipArray[1];

    return $loc;
}
上一篇:php价格转大写
下一篇:PHP curl 访问url
网友评论