mannysoft/geoip

支持两大GeoIP服务(infoDB和Maxmind)。

0.2.2 2015-06-30 16:13 UTC

This package is not auto-updated.

Last update: 2024-09-20 09:08:07 UTC


README

Latest Stable Version Total Downloads

根据网站访客的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
  • 记录找不到地址的异常
  • 支持自定义默认位置