zoukankan      html  css  js  c++  java
  • GeoIP的使用

    GeoIP介绍:

    什么是GepIP ?

    所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。

     

    GeoIP如 何使用?

    首先我们需要数据信息,所以先获取一个免费的数据库:GeoIP.dat.gz ,接着解压得到:GeoIP.dat, 然后就是对数据文件的按需操作,这边范例使用的是PHP。

    GeoIP + PHP的使用

    方法一:

    下载 GeoIP 的 PHP 文件geoip.inc,保存为 geoip.inc.php 

    php使用代码

    include("geoip.inc.php");
    // 打开数据文件 
    $gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
    // 获取国家代码 
    $country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
    echo "Your country code is: $country_code ";
    // 获取国家名称 
    $country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
    echo "Your country name is: $country_name ";
    // 关闭文件 
    geoip_close($gi);

    注:在本地测试的话因 为$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以输出的内容为空。可以自己带入IP测试

     

    方法二:

    把 GeoIP 安装成 PHP 扩展 
    yum install GeoIP GeoIP-data GeoIP-devel

     

    下载 GeoIP 数据库 
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
    gzip -d GeoLiteCity.dat.gz
    mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

     

    下载 GeoIP 的 PECL 扩展 
    下载地址 http://pecl.php.net/package/geoip 
    wget -c http://pecl.php.net/get/geoip-1.0.7.tgz
    tar -zxvf geoip-1.0.7.tgz

     

    安 装 GeoIP 的 PECL 扩展 
    cd geoip-1.0.7
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
    make
    make install

     

    在 php.ini 里加上 
    extension=geoip.so

    接着重启一下 php 就行了
    现在,你可以使用 php 手册里的 GeoIP 部份函数了
    http://cn.php.net/manual/en/book.geoip.php

  • 相关阅读:
    ReportViewer内存泄漏问题解决方案[上]
    升级到VS2012,reportViewer无法使用
    UE4C++定义属性修饰符总结
    UE4 多人网络对战游戏笔记
    UE4 C++ 笔记
    Unity添加多个可视镜头Preview功能(二)
    UE4 Creating 3D Widget Interaction
    UE4 Virtual Reality Input输入配置表导入
    Unity添加多个可视镜头Preview功能(一)
    设置电脑多久后自动关机
  • 原文地址:https://www.cnblogs.com/jking10/p/3585579.html
Copyright © 2011-2022 走看看