`
student_lp
  • 浏览: 437963 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php工具类之【ip转换为对应地区地址类】

阅读更多
**
 * ip转换为对应地区地址类
 * @version 1.0 2012-12-20
 */
class ip2Area{
    protected $errors = array();
    protected $service = 'api.ipinfodb.com';
    protected $version = '***';
    protected $apiKey = '*******';
 
    public function __construct(){}
 
    public function __destruct(){}
 
    public function setKey($key){
        if(!empty($key)){
        	$this->apiKey = $key;	
        }
    }
 
    public function getError(){
        return implode("\n", $this->errors);
    }
 
    public function getCountry($host){
        return $this->getResult($host, 'ip-country');
    }
 
    public function getCity($host){
        return $this->getResult($host, 'ip-city');
    }
 
    private function getResult($host, $name){
        $ip = @gethostbyname($host);
 
        if(preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $ip)){
            $xml = @file_get_contents('http://' . $this->service . '/' . $this->version . '/' . $name . '/?key=' . $this->apiKey . '&ip=' . $ip . '&format=xml');
            try{
                $response = @new SimpleXMLElement($xml);
                foreach($response as $field=>$value){
                    $result[(string)$field] = (string)$value;
                }
                return $result;
            }
            catch(Exception $e){
                $this->errors[] = $e->getMessage();
                return;
            }
        }
        $this->errors[] = '"' . $host . '" is not a valid IP address or hostname.';
        return;
    }
}

 

分享到:
评论

相关推荐

    纯真IP库转换工具转换为其他IP库或者TXT文本

    纯真IP库,通常指的是由纯真网络提供的一种IP地址数据库,主要包含了中国大陆及部分海外地区的IP地址与地理位置的对应关系。这个IP库被广泛应用于网络应用中,如网站访问统计、网络安全分析、地理位置定位等场景。...

    随机生成对应省份IP的PHP类.7z

    2. IP转换:然后,使用PHP的内置函数如`inet_aton()`将IP字符串转换为32位整数,便于计算和比较。 3. 随机选择:利用PHP的随机数生成函数,如`rand()`或更安全的`random_int()`,在特定省份的IP范围内生成一个随机...

    php本地匹配ip地址类.zip

    这个"php本地匹配ip地址类"压缩包提供了一个专为处理和匹配IP地址而设计的PHP类库。该类库可能包含了各种方法,如验证IP地址的有效性、解析IP地址、判断IP是否在特定范围内等功能。 首先,类库的核心是定义一个IP...

    qq ip数据库转换成acess的mdb数据库工具

    首先,QQ IP数据库包含了大量的IP地址与对应地理位置的信息,这些信息以特定的格式存储,可能包括IP地址范围、国家、地区等。这样的数据库对于开发者和网络管理员来说非常有价值,因为他们可以据此了解网络流量来源...

    ip地址查询可查域名ip php源码

    IP查询是程序的主要功能,它能够将输入的IP地址转换为相应的地理位置信息或者域名。PHP源码则说明了实现这一功能的代码是用PHP编写的,这是一种广泛用于Web开发的服务器端脚本语言。而“域名ip”则表示程序也能反向...

    ip库+php类_ip归属地查询

    常见的优化策略包括使用哈希表或二分查找等数据结构,将IP地址转换为整数进行比较,以减少计算量。 此外,需要注意的是,IP归属地查询并不总是100%准确,因为IP地址可能会因ISP路由、CDN服务等原因而产生漂移。同时...

    php获取访客IP和地理位置信息的类.zip

    它可能包含了全球范围内的IP地址段和对应的国家、地区等地理信息。在处理IP到地理位置的转换时,类库会查找这个数据文件来获取对应的位置信息。 2. **IpLocation.class.php**: 这是核心类文件,实现了获取和解析...

    PHP实例开发源码—caozha-ip(IP地址库调用系统).zip

    PHP提供了多种处理IP的方法,如`ip2long()`用于将IP转换为数字,`long2ip()`用于将数字转换回IP,以及`inet_pton()`和`inet_ntop()`用于IPv4和IPv6的转换。 2. 数据库设计:IP地址库通常包含大量的IP段信息,这些...

    根据IP显示位置 php

    2. **IP地址到地理信息转换**:有了IP地址,我们可以查询包含IP与地理位置对应关系的数据库或服务。常见的有GeoIP、MaxMind等免费或付费数据库。PHP有相应的库,如`geoip`或`maxmind-db`,可以方便地进行转换。 - ...

    完整版在线查询IP地址.rar

    DNS(Domain Name System)是域名系统,它负责将人类可读的域名转换为对应的IP地址。当你在浏览器中输入一个网站地址(如www.example.com)时,实际上是在请求DNS服务器解析这个域名。DNS通过全球分布的服务器网络...

    Ip2region (2.0 - xdb) 是一个离线 IP 数据管理框架和定位库

    例如,在Java中,你可以使用`Ip2region`类的`search()`方法,传入IP地址即可获取对应的地区信息。 在实际应用中,Ip2region常被用于以下场景: 1. 网络安全:通过快速定位IP地址,可以识别并阻止来自特定地区的...

    PHP实例开发源码—IP地址物理位置查询PHP程序.zip

    在本压缩包“PHP实例开发源码—IP地址物理位置查询PHP程序.zip”中,包含了一个基于PHP语言的实用程序,用于查询IP地址所对应的物理位置。这个程序可以帮助开发者实现网站或应用程序的功能,例如追踪用户访问来源、...

    最新版本 ip库 数据包

    总的来说,这个“最新版本 ip库 数据包”是一个实用的工具,它结合了IP地址数据库和处理IP的PHP类,为开发者提供了方便的地理位置信息查询能力,广泛应用于各种互联网服务中。在处理和分析网络流量、实施访问控制...

    最新污橘ip探针位置源码附视频教程小_IP探针_污橘组合拳_web_

    这意味着它可能采用了某种IP地址解析技术,将IP地址转换为相应的地理坐标或物理地址。这通常涉及到与IP库的交互,比如MaxMind的GeoIP数据库,或者是使用公开的API服务,如Google Maps Geocoding API或OpenStreetMap ...

    IP域名归属地查询接口PHP开源版

    1. IP地址解析:IP地址如何转换为可读的地理位置信息,包括国家、地区、城市等。 2. PHP编程基础:PHP语法、函数、类和对象的使用,以及如何利用PHP处理HTTP请求和响应。 3. 数据库操作:如何设计和使用IP数据库,...

    php判断IP地址是否在多个IP段内

    在测试脚本`test.php`中,我们首先引入了所需的工具类`Tool.class.php`、IP类`IP.class.php`和IP段范围类`IpRang.class.php`。然后,获取当前用户的IP地址,遍历`$iprang`数组,对每个IP段调用`IP::isIn()`方法进行...

    Thinkphp5获取IP定位 qqwry.dat UTFWry.bat纯真IP库 IpLocation.php扩展

    纯真IP库(qqwry.dat)是著名的IP地址数据库,包含了全球范围内的IP地址与对应地理位置的映射关系。这个数据库定期更新,确保了IP定位的准确性。2022年的最新版本确保了数据的时效性,能提供更准确的定位服务。...

    php通过淘宝API查询IP地址归属等信息

    在PHP中,ip2long函数用于将点分十进制的IP地址转换为长整型数字,而long2ip函数则执行相反的操作。这两个函数在处理IP地址转换时非常重要,因为HTTP请求需要通过GET参数的方式传递IP地址。 5. 使用cURL发起网络...

    纯真库php_纯真_C18_php_

    【标题】:“纯真库php_纯真_C18_php_”这个标题表明我们讨论的是一...这个库为PHP开发者提供了一个方便的工具,以处理IP地址查询,尤其是在处理中文地理位置信息时,通过UTF-8编码的支持,确保了跨语言环境的兼容性。

    UTFWry.dat

    IP定位的核心是将IP地址转换为对应的地理位置。IPv4地址由32位二进制组成,通常表示为四组十进制数,如192.168.0.1。UTFWry.dat文件通过预处理这些IP地址范围,构建了一个查找树结构,允许程序进行二分查找,极大地...

Global site tag (gtag.js) - Google Analytics