Получение местоположения детализирует от IP в PHP

Комбинация и KDiff два из самых популярных.

6
задан Ben Dowling 30 June 2014 в 02:19
поделиться

4 ответа

$ip = '98.229.152.237';
$xml = simplexml_load_file("http://ipinfodb.com/ip_query.php?ip=$ip");
print_r($xml);

Вывод:

SimpleXMLElement Object
(
    [Ip] => 98.229.152.237
    [Status] => OK
    [CountryCode] => US
    [CountryName] => United States
    [RegionCode] => 33
    [RegionName] => New Hampshire
    [City] => Manchester
    [ZipPostalCode] => 03103
    [Latitude] => 42.9403
    [Longitude] => -71.4435
    [Timezone] => -5
    [Gmtoffset] => -5
    [Dstoffset] => -4
)
6
ответ дан 8 December 2019 в 17:22
поделиться

Вам нужно использовать некоторые из Geo IP Service

Одна бесплатная служба, которую я нашел в Google: geoplugin . Они используют фрагменты php для использования их сервиса: geoplugin / php

4
ответ дан 8 December 2019 в 17:22
поделиться
1
ответ дан 8 December 2019 в 17:22
поделиться

Вы можете заглянуть в базу данных maxmind и расширение GeoIP PECL .

В моем случае:

  • I ' Я установил расширение с помощью « pecl install geoip »
  • . Я загрузил базу данных geolitecity и скопировал ее в /usr/share/GeoIP/GeoIPCity.dat , поэтому он обнаруживается расширением PECL.

Обратите внимание, что должен также быть некоторый пакет PEAR ( PEAR :: Net_GeoIP ), который поможет вам, если вы не можете установить какое-либо расширение PECL.


Один раз вы установили оба из них, вы можете использовать такой код:

$ip = '82.229.x.y';     // replace with your IP address
var_dump(geoip_record_by_name($ip));

И вы получите такой вывод:

array
  'continent_code' => string 'EU' (length=2)
  'country_code' => string 'FR' (length=2)
  'country_code3' => string 'FRA' (length=3)
  'country_name' => string 'France' (length=6)
  'region' => string 'B9' (length=2)
  'city' => string 'Lyon' (length=4)
  'postal_code' => string '' (length=0)
  'latitude' => float 45.75
  'longitude' => float 4.84999990463
  'dma_code' => int 0
  'area_code' => int 0

Что в моем случае верно: я действительно нахожусь в городе Лион, Франция .

3
ответ дан 8 December 2019 в 17:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: