Как получить название страны с IP -адреса в PHP [Duplicate

StackOverflow https://stackoverflow.com/questions/4191489

  •  10-10-2019
  •  | 
  •  

Вопрос

Этот вопрос уже имеет ответ здесь:

Я хочу найти страну, город, широту и долготу от IP -адреса с помощью PHP. Я использую этот URL -адрес, и он возвращает данные в формате XML.

http://www.ipgp.net/api/xml/122.163.6.58

Данные приходят так:

<IpLookup>
    <Ip>122.163.6.58</Ip>
    <Code>IN</Code>
    <Country>India</Country>
    <Flag>http://www.ipgp.net/flags/in.png</Flag>
    <City>Calcutta</City>
    <Region>West Bengal</Region>
    <Isp></Isp>
    <Lat>22.5697</Lat>
    <Lng>88.3697</Lng>
</IpLookup>

Кто -нибудь может предложить, как проанализировать и получить результат

Это было полезно?

Решение

Использовать simplexml_load_string().

Другие советы

Использовать XML Parser Включено в PHP?

Я использую это лично:http://ipinfodb.com/

Примеры очень четкие и краткие, а API очень быстрый.

Удачи.

Использование API в PHP уже описано на их веб -сайте. Почему вы используете, но не читаете?

http://www.ipgp.net/developer-tools/

Я предложено вам использовать xpath Это более проще схема для доступа к атрибутам. Например, для ваших текущих данных у меня есть следующие:

$file = 'file.xml';
$xml = new SimpleXMLElement($file, NULL, TRUE);
$ipz = $xml->xpath("/IpLookup/Ip");
$country = $xml->xpath("/IpLookup/Country/");
foreach($ipz as $ip)
{
    foreach($country as $country)
    {
      echo $ip.'<br/>';
      echo $country.'<br/>';
    }
}

Этот код вернет вам ip и country для вашего текущего xml. Анкет Вы можете редактировать его по -своему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top