php+ip+区域,获取ip地址所在的区域

~~~

/**

* 获取ip地址所在的区域

* @param null $ip

* @return bool|mixed

* @author:xjw129xjt(肖骏涛) xjt@ourstu.com

*/

function get_ip_lookup($ip=null){

if(empty($ip)){

$ip = get_client_ip(0);

}

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

}

~~~

~~~

/**

* 获取ip地址所在的区域

* @param string $ip

* @return string

*/

function get_city_by_ip($ip){

$url = "http://ip.taobao.com/service/getIpInfo.php?ip=" . $ip;

$ipinfo = json_decode(file_get_contents($url));

if ($ipinfo->code == '1') {

return false;

}

$city = $ipinfo->data->region . $ipinfo->data->city; //省市县

$ip = $ipinfo->data->ip; //IP地址

$ips = $ipinfo->data->isp; //运营商

$guo = $ipinfo->data->country; //国家

if ($guo == '中国') {

$guo = '';

}

return $guo . $city . $ips . '[' . $ip . ']';

}

~~~

var_dump(get_ip_lookup('58.210.11.194'));

**输出如下:**

> array(10) { ["start"]=> int(-1) ["end"]=> int(-1) ["country"]=> string(6) "中国" ["province"]=> string(6) "江苏" ["city"]=> string(6) "苏州" ["district"]=> string(0) "" ["isp"]=> string(0) "" ["type"]=> string(0) "" ["desc"]=> string(0) "" ["ip"]=> string(13) "58.210.11.194" }

获取的时间戳为当前时间戳的前一天

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值