кукла-свитла / yii2-geoip
Yii 2 GeoIP 扩展。返回当前或指定 IP 的国家、城市、纬度、经度(使用 MaxMind 的 GeoIP2 数据库)
1.0.1
2023-11-04 21:08 UTC
Requires
- php: >=5.4.0
- kukla-svitla/maxmind-geolite2-database: dev-main
- maxmind-db/reader: ~1.0
- yiisoft/yii2: ^2.0.0
Requires (Dev)
- phpunit/phpunit: ~4.4
README
提供用户通过 IP 地址的地理位置信息。
当前可用
- 国家
- 城市
- 纬度,经度
- 国家 ISO 代码
安装
运行
$ php composer.phar require kukla-svitla/yii2-geoip "~1.0"
或者
添加到您的 composer.json
{ "require": { "kukla-svitla/yii2-geoip": "~1.0" } }
然后运行
$ php composer update
用法
像组件一样
<?php $config = [ ... 'components' => [ 'geoip' => ['class' => 'svitla\GeoIP\GeoIP'], ] ... ];
在代码的某处
$ip = Yii::$app->geoip->ip(); // current user ip $ip = Yii::$app->geoip->ip("208.113.83.165"); $ip->city; // "San Francisco" $ip->country; // "United States" $ip->location->lng; // 37.7898 $ip->location->lat; // -122.3942 $ip->isoCode; // "US"
直接在您的应用程序中作为对象使用
$geoip = new \svitla\GeoIP\GeoIP(); $ip = $geoip->ip("208.113.83.165"); $ip->city; // "San Francisco" $ip->country; // "United States" $ip->location->lng; // 37.7898 $ip->location->lat; // -122.3942 $ip->isoCode; // "US"
提供自定义数据库(例如,如果您拥有许可证)
<?php $config = [ ... 'components' => [ 'geoip' => [ 'class' => 'svitla\GeoIP\GeoIP', 'dbPath' => Yii::getAlias('@example/maxmind/database/city.mmdb') ], ] ... ];
本产品包括由 MaxMind 创建的 GeoLite2 数据,可从 http://www.maxmind.com 获取