php获取ip归属地
通过用户登录的IP地址来获取用户当前的归属地,也就是用户现在在哪个省份
- <?php
- //太平洋网络查询ip,较快
- $ip = "182.149.164.150";
- $get_ip_city = get_ip_city($ip);
- var_dump($get_ip_city);
-
-
- /**
- *$ip string 必传
- *获取ip归属地
- *demo 四川省成都市 电信
- */
- function get_ip_city($ip){
- $ch = curl_init();
- $url = 'https://whois.pconline.com.cn/ipJson.jsp?ip='.$ip;
- //用curl发送接收数据
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- //请求为https
- curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- $location = curl_exec($ch);
- curl_close($ch);
- //转码
- $location = mb_convert_encoding($location, 'utf-8','GB2312');
- //var_dump($location);
- //截取{}中的字符串
- $location = substr($location, strlen('({')+strpos($location, '({'),(strlen($location) - strpos($location, '})'))*(-1));
- //将截取的字符串$location中的‘,’替换成‘&’ 将字符串中的‘:‘替换成‘=’
- $location = str_replace('"',"",str_replace(":","=",str_replace(",","&",$location)));
- //php内置函数,将处理成类似于url参数的格式的字符串 转换成数组
- parse_str($location,$ip_location);
- return $ip_location['addr'];
- }
文章版权声明:本站部分内容系网络转载,如果文章触发到您的利益或版权,请联系本站客服邮箱kefu@fz331.com删除,我们将48小时之内删除。
发表评论