Возможно ли получить данные о местоположении из IP-адреса пользователей в PHP.Получение сведений о местоположении из IP в PHP
Любые предложения?
Благодаря
Возможно ли получить данные о местоположении из IP-адреса пользователей в PHP.Получение сведений о местоположении из IP в PHP
Любые предложения?
Благодаря
$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
)
Вы должны использовать некоторые телицы Geo IP Service
один бесплатный сервис я нашел на Google: geoplugin. Они пользуются услугами snpplets: geoplugin/php
Проверьте PEAR GeoIP library.
вы ссылаетесь на возврат 404 – Amirshk
Извините. Подчеркнутый символ был закодирован. Исправлена. –
Вы можете взглянуть на maxmind database и GeoIP PECL extension.
В моем случае:
pecl install geoip
»/usr/share/GeoIP/GeoIPCity.dat
поэтому он нашел расширение PECL.Примечание. Если вы не можете установить расширение PECL, также должен быть установлен пакет PEAR (PEAR::Net_GeoIP
).
После того, как вы установили оба этих, вы можете использовать этот код:
$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
который, на мой дело, верно: я действительно в городе Лион, FR.
$ip = "66.96.147.144";
$geoPlugin_array = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $ip));
echo '<pre>';
print_r($geoPlugin_array);
OUTPUT :
Array
(
[geoplugin_request] => 66.96.147.144
[geoplugin_status] => 200
[geoplugin_credit] => Some of the returned data includes GeoLite data created by MaxMind, available from http://www.maxmind.com.
[geoplugin_city] => Burlington
[geoplugin_region] => MA
[geoplugin_areaCode] => 781
[geoplugin_dmaCode] => 506
[geoplugin_countryCode] => US
[geoplugin_countryName] => United States
[geoplugin_continentCode] => NA
[geoplugin_latitude] => 42.5051
[geoplugin_longitude] => -71.204697
[geoplugin_regionCode] => MA
[geoplugin_regionName] => Massachusetts
[geoplugin_currencyCode] => USD
[geoplugin_currencySymbol] => $
[geoplugin_currencySymbol_UTF8] => $
[geoplugin_currencyConverter] => 1
)
Исходный вопрос остается актуальным для многих; в конце 2016 года).
Мой ответ после многолетнего опыта работы с GEO размещая выглядит следующим образом ...
Real отчетности сведений о местоположении за пределами «Страна» ненадежно. Вся информация почерпнута из регистрации IP # ISP, и это релевантная информация, которая регулярно обновляется и передается основными поставщиками данных. По мере удаления или покупки IP-пакетов поставщики должны получить информацию о регистрации/изменениях соответствующих предприятий (например, интернет-провайдеров). Большинство чисел получены в «блоках», но не все они обязательно относятся к одному и тому же серверу.
* Многие (если не большинство?) Небольших частных веб-сайтов, предоставляющих информацию для общественности, используют БЕСПЛАТНЫЙ db «Maxmind» и (ненадлежащим образом) передают это публике; прочитайте оговорки Maxmind. Меньшие сайты не имеют ресурсов для постоянного обновления регистраций полномочий.
Свободные базы данных maxmind и «ip2location» являются меньшим подмножеством их баз данных с оплатой труда; см. их оговорки для объяснения того, чего не хватает.
Многие покупаемые в блоках IP-пакеты распределяются по любому количеству серверов, что приводит к неоднозначности информации. При использовании беспроводного сетевого подключения к интернет-провайдеру, в отличие от, вероятно, стабильного проводного соединения ADSL/кабель/бла, ошибка может быть весьма поразительной из-за особенно широкого размещения сетевых серверов ISP (ретрансляция); в большинстве случаев нестатические изменения между сессиями и, возможно, даже некоторые в течение каждого сеанса.
В качестве примера при использовании роуминг-портативного портативного компьютера для подключения к интернет-провайдеру я часто цитируется как находящийся в другом состоянии, и это может быть (здесь, в AU) где-нибудь от сотен до тысяч KM от моего фактического местоположения.
Можете ли вы ... с PHP?
Используя основную пару поставщиков БД (например, ip2location.com), у вас будет доступ к доступным скриптам на стороне сервера, которые могут быть использованы для получения необходимой информации. И вместо того, чтобы иметь менее надежную бесплатную БД из них, я использую DB1 ip2location для получения посетителей «Страна», из которых я могу делать то, что хочу, через Perl и PHP.
Я также автоматически загружаю и распаковываю в соответствии с требованиями к использованию двоичный дБ на ежемесячной основе сразу после его обновления. Очевидно, что доступ к просмотру с собственного сайта устраняет проблемы с удаленным приобретением и обработкой по требованию.
Для моих требований ip2location FULL db был значительно дешевле Maxmind в год. * Тем не менее, Maxmind FREE db более обширен, чем свободная БД IB2location.
Обратите внимание, что при попытке получить дополнительные адреса и данные о посетителях и т. Д. Я настоятельно рекомендую, чтобы он отображался таким образом, чтобы посетитель мог внести исправления; чтобы они не расстроились.
С уважением.
спасибо, что я искал .... – Biranchi
Не работает сейчас –