nem-c / ip2loc-lite
[Laravel 4 集成 IP2Location Lite,支持数据库和自动下载
1.0.3
2015-04-06 11:45 UTC
Requires
- php: >=5.4.0
- ext-zip: *
- guzzlehttp/guzzle: ~5.0
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 文件。