Skip to content

Данный модуль предназначен для определения геграфических данных по IP адресу

Notifications You must be signed in to change notification settings

Cimus/ipGeoBase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipGeoBase

Данный модуль предназначен для определения географических данных по IP адресу. Используются текстовые базы сервиса гео-локации ipgeobase.ru, которые преобразуются в бинарный формат для оптимизации поиска.

Installation

Composer

Вы можете использовать Composer для автоматизированного процесса установки:

$ php composer.phar require cimus/ip-geo-base

или вручную добавте ссылку в ваш файл composer.json и запустить $ PHP composer.phar update:

{
    "require" : {
        "cimus/ip-geo-base": "^1.0"
    },
}

Usage

Перед первым использованием необходимо инициализировать БД, для этого нужно запустить команды

require_once 'Util/IpGeoBaseUtil.php';

use Cimus\IpGeoBase\Util\IpGeoBaseUtil;

$path = __DIR__ . '/DB';
$util = new IpGeoBaseUtil();
$util->loadArchive($path);
$util->convertInBinary($path);

Note. Данные команды можно повесить на крон и запускать с периодичностью 1 раз в неделю. Данные обнавляются каждый день.

Определение географических данных

require_once 'IpGeoBase.php';

use Cimus\IpGeoBase\IpGeoBase;

$path = __DIR__ . '/DB';
$search = new IpGeoBase($path);
$info =  $search->search('176.121.128.1');

print_r($info);

Array
(
    [country] => RU
    [city] => Чебоксары
    [region] => Республика Чувашия
    [district] => Приволжский федеральный округ
    [latitude] => 56.137451
    [longitude] => 47.244030                                             
    [ip_start] => 176.121.128.0
    [ip_stop] => 176.121.191.255
)

About

Данный модуль предназначен для определения геграфических данных по IP адресу

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages