/ Scripts & jquery / Вывод города по IP

Вывод города по IP

HIT

21.06.2015

2735

Одна из востребованных технологий — определение города по IP, с последующим выводом определенной информации. Начнем с простейшего, выведем город по IP.

<?php
function get_ip_info($ip)
{
    $postData = "
        <ipquery>
            <fields>
                <all/>
            </fields>
            <ip-list>
                <ip>$ip</ip>
            </ip-list>
        </ipquery>
    "; 
 
    $curl = curl_init(); 
 
    curl_setopt($curl, CURLOPT_URL, 'http://194.85.91.253:8090/geo/geo.html'); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
 
    $responseXml = curl_exec($curl);
    curl_close($curl);
 
    if (substr($responseXml, 0, 5) == '<?xml')
    {
        $ipinfo = new SimpleXMLElement($responseXml);
        return $ipinfo->ip;
    }
 
    return false;
}
 
// пример использования
$ipinfo = get_ip_info($_SERVER['REMOTE_ADDR']);
echo $ipinfo->city; // город
 
?>

Код вставлять туда, где нужен вывод города

Альтернативный способ:

подключаем API Яндекс Карты

<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

скрипт

<script type="text/javascript">
window.onload = function () {
jQuery("#user-city").text(ymaps.geolocation.city);
}
</script>

Там где надо вывести

<p id="user-city"> </p>
В обоих решениях наблюдаются проблемы в сочетании с плагином WP Super Cache
[site-socialshare]
  • Комментарии
  • Вложения

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

Пока нет комментариев. Будь первым!

Вывод города по IP
Табы woocommerce
Рекомендации для васТабы woocommerceOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.