nem-c/ip2loc-lite

[Laravel 4 集成 IP2Location Lite,支持数据库和自动下载

1.0.3 2015-04-06 11:45 UTC

This package is auto-updated.

Last update: 2024-09-06 01:59:41 UTC


README

Laravel 4 集成 IP2Location Lite,支持数据库和下载。

你可以将此视为一个简化的 IP2Location 脚本,其中所有内容都存储在本地,因此无需担心第三方服务中断。

你需要在 https://www.ip2location.com/ 上创建你的账户。然后在你配置目录中的 ip2loc-lite.php 配置文件中提供详细信息。

此脚本目前仅支持免费 MySQL 数据库搜索。第一版只支持包含国家缩写代码、国家名称、州/地区名称、城市名称的 DB3。

未来的更新将涵盖其他 4 种不同的数据库。注意,没有关于州/地区缩写代码的信息。

安装

可以在 Packagist 上找到。推荐的方式是通过 composer

编辑 composer.json 并添加

{
    "require": {
        "nem-c/ip2loc-lite": "~1.0"
    }
}

config/app.php 中找到 providers 数组键并注册 Geocoder 服务提供者

'providers' => array(
    // ...

    'NemC\IP2LocLite\Providers\IP2LocLiteServiceProvider',
)

使用方法

$ php artisan ip2loclite:download-csv
$ php ip2loclite:import-csv

通过链式调用这两个命令来自动化整个过程

$ php artisan ip2loclite:download-csv && php ip2loclite:import-csv

获取 IP 的信息(如果存在)

// ...
$geoForIp = IP2LocLite::get('2.16.0.234');
// ...

结果应该如下

/**
 * object(stdClass)[521]
 *   public 'long_from' => int 34603008
 *   public 'long_to' => int 34603263
 *   public 'country_iso2' => string 'US' (length=2)
 *   public 'country_name' => string 'United States' (length=13)
 *   public 'region_name' => string 'California' (length=10)
 *   public 'city_name' => string 'Los Angeles' (length=11)
 */

配置

将文件名 ip2loc-lite.php 添加到 app/config 中并使用以下内容

<?php

return [
    'username' => '', //your IP2Location account username
    'password' => '', //your IP2Location account password
    'rememberMe' => 'on',
    'database' => 'DB3LITE',
];

许可证

IP2Location LITE 在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。