Очень давно не писали ничего, вроде накопилось у нас несколько интересных тем. Сегодня расскажу о сервисе позволяющем определять название города по 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

Теги: