Документация

Вы можете ознакомиться с  спецификацией формата Sypex Geo 2.2.

Использование

1. Скопировать SxGeo.php и SxGeo.dat (или SxGeoCity.dat или другие базы) на сервер
2. Подключить файл SxGeo.php в свой скрипт, добавив строку

include("SxGeo.php");

3. Создать объект SxGeo

// Первый параметр - имя файла с базой (используется бинарная БД Sypex Geo)
// Второй параметр - режим работы:
//  SXGEO_FILE   (работа с файлом базы, режим по умолчанию);
//  SXGEO_BATCH  (пакетная обработка, увеличивает скорость при обработке множества
//                IP за раз);
//  SXGEO_MEMORY (кэширование БД в памяти, еще увеличивает скорость пакетной обработки,
//                но требует больше памяти, для загрузки всей базы в память).

$SxGeo = new SxGeo(); // Режим по умолчанию, файл бд SxGeo.dat
//$SxGeo = new SxGeo('SxGeo.dat', SXGEO_BATCH | SXGEO_MEMORY); // Самый быстрый режим пакетный режим

4. Определяем страну c БД содержащими страны (SxGeo Country)

$country = $SxGeo->getCountry($ip);  (возвращает двухзначный ISO-код страны)
// $SxGeo->getCountryId($ip); (возвращает номер страны)

4. Определяем город (SxGeo City, GeoLite City, IpGeoBase)

// $SxGeo->getCity($ip); (возвращает с краткой информацией, без названия региона и временной зоны)
// $SxGeo->getCityFull($ip); (возвращает полную информацию о городе и регионе)
$city = $SxGeo->get($ip); (выполняет getCountry либо getCity в зависимости от типа базы)

5.  Если нужно освободить ресурсы - удаляем объект

unset($SxGeo);