首页  >  文章  >  后端开发  >  利用PHP获取访客所在地位置

利用PHP获取访客所在地位置

怪我咯
怪我咯原创
2017-01-16 14:34:301635浏览

不知道大家在做一些项目开发的时候,有没有要用到要获取用户的实时位置,特别是一些大型的网站,网站获取用户的本地信息就很关键,这些网站在用户访问的时候会自己判断用户所在

地的信息,然后可以跳转到相应的分站上面,这样给用户的体验很好,而不是全国各地的用户全部都来访问北京站或者上海站。

利用PHP获取访客所在地位置在大型站点中的应用很广,今天,小编就带领大家制作这样的一个小功能,当然首先就要考虑使用第三方的IP接口,目前,大一点的IP接口有淘宝,新浪,网

易,QQ等,最终选择了新浪IP归属地的API,使用上面也很简单,利用获取到的IP地址,使用新浪接口,返回一个状态码,然后根据状态码获取用户所在地的位置,然后再进行各个地区显

示不同内容的判断。

PHP的代码如下:

<?php  
$ip = "218.192.3.42";  
$json = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);  
$json = json_decode($json, true);  
echo "IP地址:".$ip;//www.php.cn 
echo "归属地:".$json["country"].$json["province"].$json["city"].$json["district"].$json["isp"];  
?>

  JS代码如下:

<script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" charset="utf-8"></script>  
<script type="text/javascript">  
alert(remote_ip_info.country+" "+remote_ip_info.city);  
</script>

我们主要用到的是PHP的代码,这里的IP地址是固定的,如果想要获取访客的IP地址,直接更改为 $ip = $_SERVER["REMOTE_ADDR"]; 就可以了,下面再贴一段根据地区不同显示不同内

容的PHP代码,如下:

<?php  
    $ip = $_SERVER["REMOTE_ADDR"];  
    $json = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);  
    $json = json_decode($json, true);  
      
    if($json["province"]=="安徽"){  
        echo "document.writeln(\"安徽");\n"; 
}//www.php.cn
 
    if($json["province"]=="河南"){ 
        echo "document.writeln(\"河南");\n";  
}  
?>

这段代码没怎么整理与优化,在输出的时候,我这里输出了JS,这里可以更改为任何内容,甚至是跳转网址,另外,如果想要在静态页面中使用的话,也很简单,只要JS包含就可以了,代

码如下:

<script type="text/javascript" src="ip.php?action=test"></script>

action 是传递的参数,如果没有用的话,可以删除掉。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn