Предлагаю сегодня попробовать обойтись без собственно бинарного файла Sypex Geo, чуть-чуть дописав умный погодный информер, умеющий показать каждому посетителю сайта актуальную именно для его геолокации погоду... и подключив REST API, позволяющий с помощью элементарного запроса по HTTP или HTTPS получить расширенную информацию об ip, используя при этом свежую базу данных Sypex Geo Max. Сказано - сделано.
Собственно, переделать предстоит совсем немного... REST API Sypex Geo умеет отдавать не только XML, но и JSON; разберем для начала XML, в контексте поставленной несложной задачки этот выбор значения не имеет. Нам всего-то и придется, в общем, что изменить несколько строк в начале файла; эти:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
include("SxGeo.php");
$SxGeo = new SxGeo('SxGeoCity.dat');
$city = $SxGeo->get($ip);
$loc_array = array($city['city']['lat'],$city['city']['lon']);
заменим вот этими:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$url = 'http://api.sypexgeo.net/xml/'. $ip .'';
$xml = simplexml_load_string(file_get_contents($url));
$loc_array = array($xml->ip->city->lat,$xml->ip->city->lon);
Увидеть код полностью, как и всегда, возможно на форуме. Welcome.
Начиная с версии 0.97, погодный Joomla-модуль jWeather by ip способен использовать, наряду с бинарным файлом SypexGeo.dat, также и REST API SypexGeo. Просто выберите в административной панели модуля нужную опцию.
А в качестве профита от свершенного мы с вами получаем бесплатный доступ к самой свежей базе данных (БД Sypex Geo, предназначенная для свободной загрузки, "опаздывает" месяца на два), подробности на страничке разработчика. Нет более необходимости ежемесячно загружать новый файл Sypex Geo, а из REST API Sypex Geo и API WorldWeatherOnline можно, при желании, получить гораздо больше информации, чем показывает демка этой страницы.
Уверен, вы легко справитесь. :)