肥宅综合社区-做一个优雅文明的综合社区

搜索内容

php获取ip归属地

2023-09-26 293阅读 0评论

通过用户登录的IP地址来获取用户当前的归属地,也就是用户现在在哪个省份

  1. <?php
  2. //太平洋网络查询ip,较快
  3.      $ip = "182.149.164.150";
  4.      $get_ip_city = get_ip_city($ip);
  5.      var_dump($get_ip_city);


  6.      /**
  7.       *$ip  string  必传
  8.       *获取ip归属地
  9.       *demo 四川省成都市 电信
  10.       */
  11.      function get_ip_city($ip){            
  12.              $ch = curl_init();
  13.              $url = 'https://whois.pconline.com.cn/ipJson.jsp?ip='.$ip;
  14.              //用curl发送接收数据
  15.              curl_setopt($ch, CURLOPT_URL, $url);
  16.              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17.              //请求为https
  18.              curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
  19.              curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  20.              $location = curl_exec($ch);
  21.              curl_close($ch);
  22.              //转码
  23.              $location = mb_convert_encoding($location, 'utf-8','GB2312');
  24.              //var_dump($location);
  25.              //截取{}中的字符串
  26.              $location = substr($location, strlen('({')+strpos($location, '({'),(strlen($location) - strpos($location, '})'))*(-1));
  27.             //将截取的字符串$location中的‘,’替换成‘&amp;’   将字符串中的‘:‘替换成‘=’
  28.              $location = str_replace('"',"",str_replace(":","=",str_replace(",","&amp;",$location)));
  29.              //php内置函数,将处理成类似于url参数的格式的字符串  转换成数组
  30.              parse_str($location,$ip_location);
  31.              return $ip_location['addr'];
  32.      }

文章版权声明:本站部分内容系网络转载,如果文章触发到您的利益或版权,请联系本站客服邮箱kefu@fz331.com删除,我们将48小时之内删除。

发表评论

上传附件:
评论列表 (有 0 条评论,293人围观)
切换注册

登录

忘记密码?

切换登录

注册

验证码