这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了利用 PHP 获取网站访客所在地位置的方法,文中给出了详细的介绍和示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,需要的朋友可以参考下
前言
大家应该都有所体会,如果是做大型项目的话,网站获取用户的本地信息就很关键了,比如 58 分类信息网,在用户访问的时候会自己判断用户所在地的信息,然后可以跳转到相应的分站上面,这样给用户的体验很好,而不是全国各地的用户全部都来访问北京站或者上海站。
利用 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;//xiariboke.com
- 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";
- }//xiariboke.com
- if($json["province"]=="河南"){
- echo "document.writeln(\"河南");\n";
- }
- ?>
这段代码没怎么整理与优化,在输出的时候,我这里输出了 JS,这里可以更改为任何内容,甚至是跳转网址,另外,如果想要在静态页面中使用的话,也很简单,只要 JS 包含就可以了,代码如下:
- <script type="text/javascript" src="ip.php?action=test"></script>
action 是传递的参数,如果没有用的话,可以删除掉。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
来源: http://www.phperz.com/article/17/0809/340686.html