`

PHP根据访问用户IP判断所属区域信息

    博客分类:
  • PHP
阅读更多

PS:原创文章,如需转载,请注明出处,谢谢!     

本文地址:http://flyer0126.iteye.com/blog/1583082

 

/**
 * 根据访问用户IP判断所属区域信息
 * 
 * @author flyer0126
 * @since  2012/07/09
 */

/**
 * 获取用户端ip
 * @return Ambigous <unknown, string>
 */
function getIP(){
	if (isset($_SERVER)) {
		if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {
			$realip = $_SERVER[HTTP_X_FORWARDED_FOR];
		} elseif (isset($_SERVER[HTTP_CLIENT_IP])) {
			$realip = $_SERVER[HTTP_CLIENT_IP];
		} else {
			$realip = $_SERVER[REMOTE_ADDR];
		}
	} else {
		if (getenv("HTTP_X_FORWARDED_FOR")) {
			$realip = getenv( "HTTP_X_FORWARDED_FOR");
		} elseif (getenv("HTTP_CLIENT_IP")) {
			$realip = getenv("HTTP_CLIENT_IP");
		} else {
			$realip = getenv("REMOTE_ADDR");
		}
	}
	return $realip;
}

$ip = getIP();

// 利用新浪接口根据ip查询所在区域信息
$res0 = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip");
$res0 = json_decode($res0);
print_r($res0);

// 利用淘宝接口根据ip查询所在区域信息
$res1 = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
$res1 = json_decode($res1);
print_r($res1);

 

 示例输出结果如下:

stdClass Object
(
    [ret] => 1
    [start] => XXX.XXX.XXX.XXX
    [end] => XXX.XXX.XXX.XXX
    [country] => 中国
    [province] => 北京
    [city] => 北京
    [district] => 
    [isp] => 电信
    [type] => 机房
    [desc] => 南三环洋桥电信机房
)
stdClass Object
(
    [code] => 0
    [data] => stdClass Object
        (
            [country] => 中国
            [country_id] => 86
            [area] => 华北
            [area_id] => 100000
            [region] => 北京市
            [region_id] => 110000
            [city] => 北京市
            [city_id] => 110000
            [county] => 
            [county_id] => -1
            [isp] => 电信
            [isp_id] => 100017
            [ip] => XXX.XXX.XXX.XXX
        )

)
分享到:
评论
2 楼 flyer0126 2012-07-18  
meepo3927 写道
这玩意也需要转载。?

不就用了一下sina的API么。。

个人记录一下
1 楼 meepo3927 2012-07-16  
这玩意也需要转载。?

不就用了一下sina的API么。。

相关推荐

    php 根据ip地址判断是那个国家

    本文将详细介绍如何使用PHP结合特定的库或服务,实现根据IP地址判断用户所在的国家和城市。 首先,我们需要一个IP数据库或者服务来映射IP地址到对应的地理位置。这里提到的`iplocaion.class.php`和`qqwry`可能是一...

    PHP根据IP判断城市

    在IT行业中,有时候我们需要根据用户的IP地址来获取他们的地理位置,比如城市信息,这对于提供个性化服务或者进行数据分析非常有用。在本案例中,我们将探讨如何在PHP中实现这一功能,特别是如何在不依赖外部API接口...

    仿8684 判断用户所在城市--根据IP判断(PHP版)

    这个“仿8684 判断用户所在城市--根据IP判断(PHP版)”项目就是针对这一需求的一个实现,它利用PHP编程语言来确定访问者所在的地理城市。8684是一个知名的提供IP地址查询服务的网站,而这个项目则尝试复现其功能,...

    php根据ip判断城市

    在PHP编程中,根据IP地址判断用户所在城市是一项常见的需求,比如用于个性化推荐、地理位置服务或者数据分析等。这里我们将深入探讨如何实现这个功能,并提供一些关键的代码示例。 首先,我们需要理解IP地址与地理...

    php判断IP为国内国外

    - 在`index.php`中,可能会有一个函数或方法,如`isIpInChina($ip)`,它首先使用`ip2long()`将IP地址转换为数字,然后调用`iplimit.class.php`中的方法查询`ipdata.db`,最后根据查询结果判断IP地址是否属于中国。...

    WEB应用,PHP判断用户IP地址跳转到相应频道

    在Web开发中,开发者经常需要获取用户的真实IP地址,以便根据用户的地理位置提供定制化的服务,如内容推荐、语言设置或者地域特定的功能。 首先,我们要理解如何在PHP中获取用户IP地址。PHP提供了多种方法来获取这...

    php根据IP判断地区

    php程序,实现根据登录的用户IP判断其所在城市

    PHP记录用户访问ip、浏览器类型和访问时间到txt日志文件

    在PHP编程中,记录用户访问信息,如IP地址、浏览器类型和访问时间,是网站运营和数据分析中的常见需求。这有助于我们了解用户的行为模式,优化网站性能,甚至防范潜在的安全威胁。下面将详细介绍如何实现这一功能,...

    基于PHP的仿8684根据IP判断用户所在城市源码.zip

    【描述】提到的"基于PHP的仿8684根据IP判断用户所在城市源码",是指用PHP编程语言编写的代码,用于实现根据用户设备的IP地址,查询并返回该IP对应的城市信息。这通常涉及到网络编程、IP地址解析和地理位置API的使用...

    PHP 根据IP地址获取所在城市

    在Web开发中,根据用户IP地址确定其地理位置是一种常见的需求。本文将详细解析一个PHP脚本如何通过IP地址来获取用户的所在城市,并进一步探讨该脚本的工作原理、关键函数的作用以及可能存在的问题。 #### 1. 获取...

    php限制ip访问次数.txt

    php限制ip访问次数.txt php限制ip访问次数.txt php限制ip访问次数.txt php限制ip访问次数.txt

    判断访问者IP进行城市显示或跳转城市分站最新IP库

    1. **城市显示**:根据用户所在城市显示相应的内容,如本地新闻、天气预报、活动信息等。这通常通过在网页中动态加载城市相关的HTML元素或者使用JavaScript根据城市信息调整页面布局和内容。 2. **城市跳转**:如果...

    php取得用户IP地址类.zip

    至于"php中文网免费下载站.txt"和"php中文网下载站.url",它们可能是PHP中文网提供的资源链接,方便用户访问该网站获取更多PHP相关的免费资源和教程。PHP中文网是一个提供PHP学习资料、教程和社区支持的平台,对于...

    PHP实例开发源码-PHP 仿8684根据IP判断用户所在城市.zip

    PHP实例开发源码—PHP 仿8684根据IP判断用户所在城市.zip PHP实例开发源码—PHP 仿8684根据IP判断用户所在城市.zip PHP实例开发源码—PHP 仿8684根据IP判断用户所在城市.zip

    PHP实例开发源码—仿8684根据IP判断用户所在城市.zip

    3. **查找IP位置**:使用IP库,编写函数或调用API,根据用户的IP地址查找对应的地理位置信息。这通常涉及到二分查找或其他高效的搜索算法。 4. **返回城市信息**:一旦找到IP的地理位置,从中提取出城市信息并返回...

    PHP获取用户真实IP

    然而,如果用户是通过代理或NAT设备访问,这个值可能不是最终用户的真实IP。 `HTTP_X_FORWARDED_FOR`和`HTTP_CLIENT_IP`这两个头字段通常用于识别经过代理服务器的用户。`HTTP_X_FORWARDED_FOR`是一个常见的代理...

    基于PHP的仿8684根据IP判断用户所在城市.zip

    在描述中,我们看到同样的话“基于PHP的仿8684根据IP判断用户所在城市”,这进一步强调了这个项目的目标,即创建一个PHP脚本或库,该脚本能够解析用户的IP地址,并返回相应的地理位置信息,特别是城市级别。...

    php判断手机访问

    在PHP开发中,判断用户是通过手机、平板还是桌面设备访问网站是一项常见的需求。这有助于为不同类型的设备提供优化的用户体验。"php判断手机访问"这个主题主要涉及到如何利用PHP来检测用户代理(User-Agent)字符串...

    PHP仿8684根据IP判断用户所在城市v1.0

    包含34个省 332个城市的IP库,只精确到市 使用前先将ip.sql导入mysql数据库(8684库) 本程序优化了IP库从三百万条数据优化到了两万多条,可以说在查询速度上有了质的飞越。 喝水不忘挖井人,希望用本程序的站长朋友能...

    php 禁止国内IP访问网站

    在构建面向全球用户的外贸网站时,确保国内IP不能访问站点是一项重要的安全措施,这有助于防止不必要的流量、潜在的攻击或法规遵从性问题。本文将详细介绍如何使用PHP实现这一功能,以及如何结合内网IP列表进行操作...

Global site tag (gtag.js) - Google Analytics