Автор Тема: Скрипт для Geo api  (Прочитано 1867 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн artdesign

  • Новичок
  • *
  • Сообщений: 13
  • Авторитет: 0
    • Просмотр профиля
Скрипт для Geo api
« : 30 ноября 2017, 03:11:04 »
Всем Привет!

Задача: перенаправить пользователя на существующий урл определив город по скрипту.

Москва > sait.ru/url-moskva.html
При отсутствии города в списке урл направлять на главную sait.ru

Станицы есть в базе, пример:
  • url-moskva.html
  • url-sankt-peterburg.html
  • url-ekaterinburg.html
  • url-novosibirsk.html
  • и тд. более 1000 страниц первого уровня меню.

Есть станицы 2-го уровня (типа /about.html) с них перенаправлять на главную ненужно.

Ест готовый простой скрипт для ipgeobase.ru вставленный через модуль привольного кода, но можно использовать и другой, главное правильно определить пользователя и отправить на нужную региональную станицу.
<?php
 
/**
 * Возвращает информация об IP адресе
 */
function get_ip_info($ip)
{
    
$postData "
        <ipquery>
            <fields>
                <all/>
            </fields>
            <ip-list>
                <ip>
$ip</ip>
            </ip-list>
        </ipquery>
    "

 
    
$curl curl_init(); 
     
curl_setopt($curlCURLOPT_URL'http://194.85.91.253:8090/geo/geo.html'); 
    
curl_setopt($curlCURLOPT_POSTFIELDS$postData); 
    
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 
     
$responseXml curl_exec($curl);
    
curl_close($curl);
 
    if (
substr($responseXml05) == '<?xml')
    {
        
$ipinfo = new SimpleXMLElement($responseXml);
        return 
$ipinfo->ip;
    }
 
    return 
false;
}
 
// пример использования
$ipinfo get_ip_info($_SERVER['REMOTE_ADDR']);
echo 
$ipinfo->city// город

?>

Решение должно быть простым!

Ваши предложения?