Jump to content
Sign in to follow this  
igorfelix

Помощь по определению города по IP

Recommended Posts

Добрый день. Нужна помочь или подсказка как правильно реализовать определение города посетителя на сайте. есть куча статей и методов. в данным момент использую 

 <?php 
function geo_info($ip)
 {
    $xml = "<ipquery><fields><city/></fields><ip-list>"
         . "<ip>".$ip."</ip></ip-list></ipquery>";
    $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, '<message>Not found</message>') !== false)
      return false;
    preg_match("/<city>(.*)<\/city>/", $result, $city);
    return $city[1];
  }
$city = geo_info($_SERVER['REMOTE_ADDR']); // Вернет город посетителя
 

 $city=iconv("windows-1251","utf-8",$city);
 
 

 

 ?>

Понимаю что это никак не относится к опенкарту. но все же.

какие проблемы бывают:

с мобильньков порой операторы назначают ip других городов. в итоге человек находится на камчатке, а ему выдает что он во Владивостоке

с Казахстаном вообще беда, города никак не определяет. 

нужна какая то база, что бы ее подключить к опенкарту. что бы посетителю выдавало верный город. хотя бы в 95% случаев

Share this post


Link to post
Share on other sites

Ну какая ж это проблема? Вы хотели определят город по IP - вы определяете. У этого метода есть свои плюсы и минусы. В качестве минусов, например, вы получаете погрешность.

Для большей точности можете попытаться использовать что-то вроде этого. Но тут опять минусы и плюсы есть, как и везде.

Или предлагайте пользователям исправить город на правильный и обрабатывайте результат.

Share this post


Link to post
Share on other sites

у меня есть центральный сайт. попадая на него, сайт перебрасывает редиректом на другой поддомен в зависимости от города.

Share this post


Link to post
Share on other sites

Хорошо, но от этого достоверный способ определения локации пользователя не появится. 

Самое точное, что вы можете получить, это данные с gps телефона, если пользователь разрешит. Дальше по убыванию в точности.

Т.е. мой ответ вида "комбинируйте с другими методами получения данных о локации, а именно HTML5 и ответ самого пользователя" от наличия поддоменов у вас никак не преобразится.

Share this post


Link to post
Share on other sites

а вот координаты (долгота и широта) ссылку вашу открыл, там пример. вышли цифры.. но а какой город - это еще допиливать надо (

не нравится что браузер спрашивает Разрешить. многие нажмут "Нет"

Share this post


Link to post
Share on other sites

А никто не говорил что будет легко, я сказал везде свои плюсы и минусы.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.