- PVSM.RU - https://www.pvsm.ru -
Долгое время я пользовался библиотекой SxGeo от zapimir [1]. И до недавнего времени меня всё устраивало. Устраивало до тех пор, пока не было необходимости добавлять в БД свои данные.
Не найдя в интернете упаковщика данных от SxGeo и не найдя в себе силы требовать нужный мне функционал от разработчика, было принято решение писать свой костыль. Хотя на это решение повлиял и ещё 2 недостатка используемой библиотеки:
Собственно, делюсь с вами своей разработкой [2].
Отличия между прототипом и моим решением:
/* Путь к базе данных - /path/to/iptool.database */
$iptool = new DdrvIptoolIptool('/path/to/iptool.database');
print_r($iptool->about());
Array
(
[created] => 1507199627
[author] => Anonymous Author
[license] => MIT
[networks] => Array
(
[count] => 276148
[data] => Array
(
[country] => Array
(
[0] => code
[1] => name
)
)
)
)
print_r($iptool->find('81.32.17.89'));
Array
(
[network] => Array
(
[0] => 81.32.0.0
[1] => 81.48.0.0
)
[data] => Array
(
[country] => Array
(
[code] => es
[name] => Spain
)
)
)
print_r($iptool->getRegister('country'));
Array
(
[1] => Array
(
[code] => cn
[name] => China
)
[2] => Array
(
[code] => es
[name] => Spain
)
...
[N] => Array
(
[code] => jp
[name] => Japan
)
)
print_r($iptool->getRegister('country',2));
Array
(
[code] => cn
[name] => China
)
)
Процесс создания БД более трудоёмкий, но он описан с документации, которая доступна в репозитории и в wiki GitHub'а на русском и ломаном английском.
Автор: Ivan Dudarev
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ip/265305
Ссылки в тексте:
[1] zapimir: https://habrahabr.ru/users/zapimir/
[2] разработкой: https://github.com/ddrv/iptool
[3] Composer: https://getcomposer.org
[4] Источник: https://habrahabr.ru/post/339748/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.