Очень давно не писали ничего, вроде накопилось у нас несколько интересных тем. Сегодня расскажу о сервисе позволяющем определять название города по ip пользователя зашедшего к вам. Сервис предоставляют http://ipgeobase.ru и помоему они отлично справляются.
Писать самому функции для работы с сервисом очень не хотелось поэтому откопал где то этот код: ipgeo
подключается он очень просто
if(empty($_COOKIE['city']) || $_COOKIE['city']=="undefined") { $IP= ($_SERVER['REMOTE_ADDR']); if(!empty($IP)) { $ipList = new IPGeo($IP); //подключаем класс IPGeo $city= $ipList->ip($IP); // определяем город по ip $_COOKIE['city']=$city; } else { $city=$_COOKIE['city']; }
Если город еще не был определен то определяем и записываем его в куки, иначе просто смотрим какое название города уже лежит в куках. Вобщем определение города по ip пишется не более чем пять минут, остальное уже дело техники.
Можно создать базу нужных городов на сайте и сверяться с ними по названию, и например показывать товары только по городу который выбрал пользователь. Для этого и используется в большинстве случаев определение города по ip