XAKEPok Опубликовано 27 июля, 2009 Жалоба Поделиться Опубликовано 27 июля, 2009 Доброго времени суток. Подскажите пожалуйста, может кто использует у себя функцию для определения города по IP-адресу. Если у кого есть, поделитесь плиз. Язык PHP Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Сергеев из Курска Опубликовано 28 июля, 2009 Жалоба Поделиться Опубликовано 28 июля, 2009 http://www.netip.de/ для начала. This service provide geographic location information (city, country, postal code, latitude and longitude). У меня сеть еле тянет, кажется, именно на этом сайте показывает карту, а на ней pin'ом (гвоздиком) красиво местоположение. Точно он. Карту рисует. Он. Но грузится у меня долго. Я - Курск, пожалуйста, коллеги - Белгород, пожалуйста, национальная почтовая служба - Москва, пожалуйста. Только здание не показывает. :D Wandering IPs - программа загружает из Нета базу - 15 метров. И voi-la. Виджеты для Оперы. Завтра будет гораздо больше и подробно. Только зачем тут PHP? Вопрос о каком-то личном сайте, при входе на который, тебе IP твой показывает? Это другой вопрос. Но найти можно. Тоже мне проблема. Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 28 июля, 2009 Автор Жалоба Поделиться Опубликовано 28 июля, 2009 Я на своём сайте использую самописную баннерную систему. Она работает отлично. Мне нужно что бы баннеры менялись в зависимости от города. Вот и ищу функцию, которая принимает IP посетителя и возвращает город, которому этот IP принадлежит. Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Сергеев из Курска Опубликовано 28 июля, 2009 Жалоба Поделиться Опубликовано 28 июля, 2009 1. Если для начала просто определять IP, так, например, при входе на главную страницу там, где расположена эта программа, показывается твой IP и даже браузер. Может автор поделится идеями. 2. Обязательно зайди вот сюда. Там много чего интересного. 3. In this section, you can find the list of all major IP address blocks allocated for each country. Список IP-адресов в формате CSV по странам. Хотя там России нет, не вижу, зато есть Украина. Еще не города, но уже первый шаг. 3. Не забывай про программы, использующие инструменты Ping, Trace, Whois. Например, SI Network Mechanics. Может они натолкнут на мысль. ! Предупреждение:Artur88: Вчитайтесь в 1 пост данной темы и далее проведите анализ своих сообщений. просьба в дальнейшем не давать советы которые не имеют отношения к решению проблемы в теме Ссылка на комментарий Поделиться на другие сайты Поделиться
edde Опубликовано 28 июля, 2009 Жалоба Поделиться Опубликовано 28 июля, 2009 Сергей Сергеев из Курска прекратите давать бестолковые советы по тематике, в которой ничего не смыслите. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 29 июля, 2009 Жалоба Поделиться Опубликовано 29 июля, 2009 XAKEPok: Страна по IP и # <?# # function ip2country($ip) {# global $OOPSGlobal;# # $country1 = 'NA';# $country2 = '-';# # $ipn = (float) sprintf("%u", ip2long($ip));# # if (!eregi ("^(127|10|172\.16|192\.168)\.", $ip)) {# # $SQL = "# # SELECT# *# FROM# ip2country# WHERE# start_long <= {$ipn} AND stop_long >= {$ipn}# # ";# # $row = $OOPSGlobal['SES']->db->QueryObject($SQL);# # if($row) return array($row->country,$row->country_name,$row->start_ip,$row->stop_ip);# # }# if (eregi ("^(127|10|172\.16|192\.168)\.", $ip)) {# return array('XXX','Local/Grey NetWork(s)','','');# }# # return array($country1,$country2,'','');# # }# # ?> а город что бы определить нужна просто база, а алгоритм тот же. Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 29 июля, 2009 Автор Жалоба Поделиться Опубликовано 29 июля, 2009 Indomito, спасибо огромное! Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 31 июля, 2009 Жалоба Поделиться Опубликовано 31 июля, 2009 XAKEPok: не за что :) Кстати я далёк от веб-строительства, просто достаточно воспользоваться поисковыми системами, на 80-90% вопросов есть ответы в интернете, что я кстати и сделал :) Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 31 июля, 2009 Автор Жалоба Поделиться Опубликовано 31 июля, 2009 Да я уже нашел базу ip достаточно массивную. Могу выложить. Одно плохо - база 23мб. При импортировании загрузка на сервер большая, не каждый хостер пропускает. Мой например нет) Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 18 августа, 2009 Автор Жалоба Поделиться Опубликовано 18 августа, 2009 Если кому интересно. выкладываю: Дамп базы с IP (сори что на летитбит. Залил на то что было в соседней вкладке открыто) Структура базы: ID (autoincrement), начальный IP - конечный IP - город - регион - округ Начальный и конечный IP сгенерированы функцией ip2long. База в UTF-8. Вот пример определения города: function get_city($link) {$ip = ip2long($_SERVER["REMOTE_ADDR"]);$result=mysql_query("SELECT * FROM geo WHERE ip1<='$ip' AND ip2>='$ip' LIMIT 1", $link); while ($row = mysql_fetch_array($result)) { $city = iconv("UTF-8", "windows-1251", $row['city']); return $city; }} $link здесь - указатель на соединение с базой. Если не нравится структура запроса можете поизвращаться с BEETWEEN'ом, но я б не советовал. Функция берёт IP и возвращает город, которому он принадлежит. База в UTF-8, поэтому что б вывести город в Windows-1251, перекодируем полученный город с помощью iconv. У меня сайт в windows-1251, если у вас в UTF-8, можете убрать преобразование и выводить город без него. Ссылка на комментарий Поделиться на другие сайты Поделиться
kosmom Опубликовано 19 октября, 2009 Жалоба Поделиться Опубликовано 19 октября, 2009 Насколько мне известно, данный проект еще затевал Ру центр http://ipgeobase.ru/cgi-bin/Software.cgi Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения