mannysoft / geoip
支持两大GeoIP服务(infoDB和Maxmind)。
0.2.2
2015-06-30 16:13 UTC
Requires
- php: >=5.3.0
- geoip2/geoip2: ~2.1
- illuminate/config: ~5.0
- illuminate/console: ~5.0
- illuminate/session: ~5.0
- illuminate/support: ~5.0
- monolog/monolog: ~1.11
Requires (Dev)
- phpspec/phpspec: ~2.1
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-20 09:08:07 UTC
README
根据网站访客的IP地址确定其地理位置。主页
安装
要获取GeoIP的最新版本,只需在您的 composer.json
文件中引入它。
"torann/geoip": "0.2.*@dev"
然后您需要运行 composer install
来下载它并更新自动加载器。
GeoIP安装后,您需要将服务提供者注册到应用程序中。打开 config/app.php
并找到 providers
键。
'providers' => array( 'Torann\GeoIP\GeoIPServiceProvider', )
GeoIP还包含一个门面,它提供了创建集合的静态语法。您可以在 config/app.php
文件的 aliases
键中注册门面。
'aliases' => array( 'GeoIP' => 'Torann\GeoIP\GeoIPFacade', )
发布配置
从您项目的根目录运行此命令行
$ php artisan vendor:publish
一个配置文件将被发布到 config/geoip.php
更新MaxMind城市数据库
$ php artisan geoip:update
数据库服务:要使用MaxMind服务的数据库版本,请从MaxMind下载 GeoLite2-City.mmdb
并将其解压到 storage/app/geoip.mmdb
。就这么简单。
用法
获取网站访客的位置数据
$location = GeoIP::getLocation();
如果没有提供IP,将使用
$_SERVER["REMOTE_ADDR"]
。
获取给定IP的位置数据
$location = GeoIP::getLocation('232.223.11.11');
示例数据
array ( "ip" => "232.223.11.11", "isoCode" => "US", "country" => "United States", "city" => "New Haven", "state" => "CT", "postal_code" => "06510", "lat" => 41.28, "lon" => -72.88, "timezone" => "America/New_York", "continent" => "NA", "default" => false );
默认位置
如果在找不到位置的情况下,将返回带有 default
参数设置为 true
的回退位置。要设置自己的默认值,请更改 config/geoip.php
中的配置。
变更日志
v0.2.1
- 将 database_path 添加到配置
- 将 update_url 添加到配置
- 添加 GeoIP 数据库更新命令 "php artisan geoip:update"
- 添加一些测试
- 格式化代码
v0.2.0
- 更新到Laravel 5
- 支持IPv6
- 记录找不到地址的异常
- 支持自定义默认位置