iwebshop商城表生成ip2region开源项目global_region.csv

开源项目地址

gitee.com/lionsoul/ip2region

简介

准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java,php,c,python,nodejs,golang,c#查询绑定和Binary,B树,内存三种查询算法,妈妈再也不用担心我的ip地址定位!

如何生成iwebshop商城系统所需的ip2region.db文件?

关键就是将iwebshop数据库areas表的数据生成global_region.csv 格式,下面上代码:

<?php
// +----------------------------------------------------------------------
// | global_region.csv 文件格式生成函数
// +----------------------------------------------------------------------
// | 版权所有 2014~2019 海南大卫电子科技有限公司 [ http://www.ledc.cn ]
// +----------------------------------------------------------------------
// | 官方网站: http://www.ledc.cn
// +----------------------------------------------------------------------
// | 功能:将iwebshop数据库areas表的数据生成global_region.csv 格式
// +----------------------------------------------------------------------
// | github开源项目:https://gitee.com/lionsoul/ip2region
// +----------------------------------------------------------------------
//使用说明:把a.php放入controllers/目录下,浏览器访问http://www.域名.com/a ,复制保存为global_region.csv [UTF8编码]
class a extends IController
{
    public $layout='';
    public function init()
    {
    }
 
    public function index(){
        $tb_areas = new IModel('areas');
        $sort = 1;
        ###国家0,1
        echo '1,0,中国,1,0'."\n";
        $res = $province = $tb_areas->query('parent_id = 0');
        foreach ($province as $k => $v){
            ###省份1,2
            echo $v['area_id'].',1,'.$v['area_name'].',2,'.$sort."\n";
            $sort += 1;
            $city = $tb_areas->query('parent_id = '.$v['area_id']);
            if(!$city){
            }else{
                foreach ($city as $kk => $vv){
                    ###城市parent_id,3
                    echo $vv['area_id'].','.$vv['parent_id'].','.$vv['area_name'].',3,0'."\n";
                    $area = $tb_areas->query('parent_id = '.$vv['area_id']);
                    if(!$area){
 
                    }else{
                        foreach($area as $kkk => $vvv){
                            ###市区parent_id,4
                            echo $vvv['area_id'].','.$vvv['parent_id'].','.$vvv['area_name'].',4,0'."\n";
                        }
                    }
                }
            }
        }
    }
}

复制以上代码,保存为 a.php,把a.php放入controllers/目录下,浏览器访问http://www.域名.com/a ,复制保存为global_region.csv [UTF8编码]即可。

java环境安装说明:

1.下载安装包

2.设置环境变量

新建 变量名:JAVA_HOME变量值:您的安装路径 例C:\Program Files\Java\jdk-11.0.1

新建 变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

新建 变量名:JAVA_TOOL_OPTIONS变量值:-Dfile.encoding=UTF-8

编辑 变量名:Path变量值结尾添加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3.运行 “ip2region.db文件生成.bat”文件

4.数据库文件的结构和原理

请阅读 @冬芽 的blog:“ip2region数据库文件的结构和原理

最后修改:2018 年 11 月 29 日 05 : 25 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论