Business Insights
Facebook 0 Likes
Twitter 0 Followers
Instagram 0 Followers
Pinterest 0 Followers
YouTube 0 Subscribers
Subscribe
Business Insights
Business Insights
  • Рекламным агентствам
  • Информационное спонсорство
  • Ссылки
  • О проекте
  • PHP

Определение расположения по IP адресу на PHP

  • 13.06.2010
Total
0
Shares
0
0
0

Рано или поздно каждый из нас сталкивается с вопросом определения города посетителя. Например, чтобы выдавать пользователю цены или наличие товара только для его региона. Да что там посетителя – любого IP, и как раз для этих целей существуют разные базы IP адресов, некоторые из них (как в нашей функции) очень удобно предоставляют данные через API.  Правда при этом можно столкнутся с проблемами. Например в некоторых случаях разные все подсетки принадлежат к Москве, а физически находятся в самых разных краях страны. Данный сервис обращается в базе данных Nic. Вот тут можно более подробно изучить информацию о возможных параметрах http://blog.ipgeobase.ru/?p=37 Стоит запрашивать информацию об одних и тех же ip постоянно. Это приведет к бану. Оптимальный вариант – кэш данных на неделю. Вы же не думаете, что провайдер будет переезжать из города чаще?
[sourcecode language=’php’] function geo_info($ip)
{
$xml = “”
. ““.$ip.”
“;
$ch = curl_init(“http://194.85.91.253:8090/geo/geo.html”);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
if(curl_errno($ch) != 0)
die(“curl_errno(“.curl_errno($ch).”), curl_error(“.curl_error($ch).”)”);
curl_close($ch);
if (strpos($result, ‘Not found‘) !== false)
return false;
preg_match(“/(.*)<\/city>/”, $result, $city);
return $city[1];
}[/sourcecode] Очень удобный API сервиса. Примеры применения:
[sourcecode language=’php’]/* Яндекс */
$city = geo_info(“213.180.204.8”); // Выдаст Москва

/* Новосибирский городской сайт */
$city = geo_info(“195.93.187.1”); // Новосибирск

/* Самарский инфопортал */
$city = geo_info(“195.128.128.21”); // Самара

/* Оф. сайт города Владивостока */
$city = geo_info(“93.88.6.150”); // Владивосток

/* “Санкт-Петербург.ру” */
$city = geo_info(“85.235.218.197”); // Санкт-Петербург

/* Неверный IP или данных нет в базе */
$city = geo_info(“000.000.000.000”); // Вернет false

/* IP адрес клиента */
$city = geo_info($_SERVER[“REMOTE_ADDR”]); // Вернет город посетителя
[/sourcecode]

Total
0
Shares
Share 0
Tweet 0
Pin it 0
4yvak

Previous Article
  • Примеры рекламы

Мерседес в облаках

  • 13.06.2010
  • Sharzu
Read More
Next Article
  • Примеры рекламы

Рекламный ролик Honda Civic

  • 13.06.2010
  • lilcha
Read More
You May Also Like
Read More
  • PHP

PHP – грамотная работа с файлами

  • Алексей Волков
  • 14.11.2009

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

  • Рассылка как продукт
    • 24.07.2020
  • Google назвал лучшие приложения App Store за 2018 год
    • 14.12.2018
  • Онлайн-конференция интернет-магазин от “А до Я” CyberE-com 2018
    • 25.05.2018
  • Бесплатная онлайн-конференция по управлению репутацией
    • 04.12.2017
  • Открыта регистрация на CyberMarketing-2017
    • 19.10.2017
Social Links
Facebook 0 Likes
Twitter 0 Followers
Instagram 0 Followers
Pinterest 0 Followers
YouTube 0 Subscribers
Twitter Feed
Marketer
  • Рекламным агентствам
  • Информационное спонсорство
  • Ссылки
  • О проекте
Статьи про рекламу, маркетинг, public relations, интернет

Input your search keywords and press Enter.