|
|
![]() Борис Бритва Свой |
Зарегистрирован: 16.03.2008
Сообщений: 99
|
Обратиться по нику
|
Борис Бритва |
Ответить с цитатой | | |
|
Хая всем.
Вопрос: как организовать на сайте показ блоков (html, php) в зависимости от города России зашедшего пользователя? Т.е. например Москве контекстную рекламу, Питерцам рекламу спонсора, кому-то адрес ближайшего офиса, а остальным .. хз, еще что-нибудь
Столкнулся с такой задачей на региональном проекте. Больно много посетителей из Мск и Питера, звонят даже и услуги купить пытаются.. Отказывать обидно, но пока приходится. Вот собственно поэтому и возникла необходимость.
PS^ Сайт не на вордпрессе. |
|
|
|
|
|
Музяка на полную! |
![]() Борис Бритва Свой |
Зарегистрирован: 16.03.2008
Сообщений: 99
|
Обратиться по нику
|
Борис Бритва |
Ответить с цитатой | | |
|
Что накопал к текущему моменту:
1) Определяем ip адрес пользователя:
$ip=$_SERVER['REMOTE_ADDR'];
2) Теперь можно получить содержимое документа с этого сайта http://ipgeobase.ru:
$content=file_get_contents("http://ipgeobase.ru/cgi-bin/Search.cgi?address=$ip");
А теперь надо выдрать необходимую информацию, в моем случае город. Как? Понятия не имею..
Ну и далее по списку, если город такой-то показываем юзеру одну плюху, если другой то и плюха другая.
ps^ Поеду поужинаю и обязательно вернусь к этому вопросу. |
|
|
|
|
|
Музяка на полную! |
![]() captain Keen Опытный |
Зарегистрирован: 22.10.2008
Сообщений: 206
|
Обратиться по нику
|
captain Keen |
Ответить с цитатой | | |
|
Как, как..... Учи регэкспы!
preg_match('|>Город<\/td>(.*?)<\/tr>|si', $content, $city);
$city = trim(strip_tags($city[1]));
В $city у тебя будет лежать название города.
P.S. Брать удаленный файл при помощи file_get_contents извращение. |
|
|
|
|
|
|
![]() Ffadu aka Udaff |
Зарегистрирован: 04.06.2008
Сообщений: 3315
|
Обратиться по нику
|
Ffadu |
Ответить с цитатой | | |
|
За эту ссылку тут одного чела кога то забанили вернее за упоминание
Peace  |
|
|
|
|
|
VR PORN - ратио, как в 90-х |
![]() captain Keen Опытный |
Зарегистрирован: 22.10.2008
Сообщений: 206
|
Обратиться по нику
|
captain Keen |
Ответить с цитатой | | |
|
Ffadu писал(а): |
За эту ссылку тут одного чела кога то забанили вернее за упоминание
Peace
|
Не знал
А эта ссылка нарушает правила форума? Ежели так, модераторы - убейте, пожалуйста, мой предыдущий пост. |
|
|
|
|
|
|
![]() Борис Бритва Свой |
Зарегистрирован: 16.03.2008
Сообщений: 99
|
Обратиться по нику
|
Борис Бритва |
Ответить с цитатой | | |
|
captain Keen писал(а): |
В $city у тебя будет лежать название города.
P.S. Брать удаленный файл при помощи file_get_contents извращение.
|
Спасибо
Только вот на источнике кодировка вин, на сайте utf8. Если из $content сделать вывод - кракозябры. Соответственно выборка не делается. И как следствие отсутствие результата в итоге.
ps^ Не программер я, а хочу решение собрать и собираю по строчкам За дельные советы - спасибо! |
|
|
|
|
|
Музяка на полную! |
![]() Борис Бритва Свой |
Зарегистрирован: 16.03.2008
Сообщений: 99
|
Обратиться по нику
|
Борис Бритва |
Ответить с цитатой | | |
|
Код: |
<?php
function ip_data($ip)
{
$content=iconv("windows-1251","utf-8",file_get_contents("http://ipgeobase.ru/cgi-bin/Search.cgi?address=$ip"));
preg_match('|>Город<\/td>(.*?)<\/tr>|si', $content, $city);
return $city = trim(strip_tags($city[1]));
}
$final=ip_data($_SERVER['REMOTE_ADDR']);
echo "Ваш IP: ".$_SERVER['REMOTE_ADDR']." Город: ".$final."\n";
?>
|
Вот что у меня получилось. Работает. |
|
|
|
|
|
Музяка на полную! |
|