kostikpenzin/yii2-geoip

为 Sypex Geo API 的 Yii2 geoip 扩展

安装: 288

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 1

分支: 2

开放问题: 1

类型:yii2-extension

v0.0.3 2022-05-18 12:25 UTC

This package is auto-updated.

Last update: 2024-09-18 17:27:37 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads

Yii2 的 Geo ip

Sypex Geo 是由 Sypex Dumper 制造商开发的一款基于 IP 地址的地理位置产品。在接收到 IP 地址后,Sypex Geo 会提供访客的位置信息——国家、地区、城市、地理坐标。

Sypex Geo - 基于 BSD 许可协议发布,即完全免费。

Sypex Geo 使用其自己的二进制文件格式的数据库。这种格式是开放的、通用的。在开发格式时,进行了大量工作以优化算法。因此,Sypex Geo 比竞争对手运行得更快,消耗更少的内存,并产生更少的磁盘访问(在繁忙的服务器上,这种差异甚至更大,更有利于 Sypex Geo)。

直接链接到数据库

安装

安装此扩展的首选方式是通过 composer

运行

php composer.phar require --prefer-dist kostikpenzin/yii2-geoip "*"

"kostikpenzin/yii2-geoip": "*"

将以下内容添加到您的 composer.json 文件的 require 部分。

使用方法

扩展安装后,只需在代码中使用即可

<?php
    $geo = new \kostikpenzin\geoip\Geoip();

    // get by remote IP
    $geo->get();                // also returned geo data as array
    echo $geo->ip,'<br>';
    echo $geo->ipAsLong,'<br>';
    var_dump($geo->country); echo '<br>';
    var_dump($geo->region);  echo '<br>';
    var_dump($geo->city);    echo '<br>';

    // get by custom IP
    print_r($geo->get('88.200.214.22'));
?>

国家、地区和城市的返回信息作为数组。例如

array (
  'ip' => '135.181.47.216',
  'city' =>
  array (
    'id' => 658225,
    'lat' => 60.16952,
    'lon' => 24.93545,
    'name_ru' => 'Хельсинки',
    'name_en' => 'Helsinki',
    'name_de' => 'Helsinki',
    'name_fr' => 'Helsinki',
    'name_it' => 'Helsinki',
    'name_es' => 'Helsinki',
    'name_pt' => 'Helsínquia',
    'okato' => '',
    'vk' => 0,
    'population' => 558457,
    'tel' => '',
    'post' => '',
  ),
  'region' =>
  array (
    'id' => 828987,
    'lat' => 60.83,
    'lon' => 26,
    'name_ru' => 'Южная Финляндия',
    'name_en' => 'Southern Finland Province',
    'name_de' => 'Südfinnland (Provinz)',
    'name_fr' => 'Finlande méridionale',
    'name_it' => 'Finlandia meridionale',
    'name_es' => 'Finlandia Meridional',
    'name_pt' => 'Finlândia Meridional',
    'iso' => 'FI-ES',
    'timezone' => 'Europe/Helsinki',
    'okato' => '',
    'auto' => '',
    'vk' => 0,
    'utc' => 2,
  ),
  'country' =>
  array (
    'id' => 69,
    'iso' => 'FI',
    'continent' => 'EU',
    'lat' => 64,
    'lon' => 26,
    'name_ru' => 'Финляндия',
    'name_en' => 'Finland',
    'name_de' => 'Finnland',
    'name_fr' => 'Finlande',
    'name_it' => 'Finlandia',
    'name_es' => 'Finlandia',
    'name_pt' => 'Finlândia',
    'timezone' => 'Europe/Helsinki',
    'area' => 337030,
    'population' => 5244000,
    'capital_id' => 658225,
    'capital_ru' => 'Хельсинки',
    'capital_en' => 'Helsinki',
    'cur_code' => 'EUR',
    'phone' => '358',
    'neighbours' => 'NO,RU,SE',
    'vk' => 207,
    'utc' => 2,
  ),
  'error' => '',
  'request' => -1,
  'created' => '2021.03.18',
  'timestamp' => 1616099629,
)