Главная
  PHP
Сервер Apache
  Perl
Контакты


Главная

 php    скрипт PHP
— определение географического местонахождения по IP-адресу.

PHP скрипт определения города по IP.

IP-геолокация и обратная технология - IP-геокодирования в Интернете — это определение географического местонахождения посетителей, на основе их IP-адреса, при загрузки страниц сайта, вплоть района города, .
geoPlugin - это самый простой способ геолокации посетителей страниц вашего сайта, позволяющий предоставлять геолокализованный контент, соответствующий их географическому положению.
Например - изменение языка интерфейса сайта, вывод цен на товары в местной валюте, информацию о погоде, отображение баннеров относящихся к стране посетителя, сообщение о применении европейских правил конфиденциальности GDPR и многое другое.

Веб-служба геолокации PHP предоставляет стабильную, надежную, быструю и бесплатную геолокацию IP-адресов, поступающую от многих миллионов посетителей для тысяч клиентов по всему миру.
Хотя сервис предоставляет не такую полную информацию, как коммерческие и geoPlugin не может гарантировать, что он всегда будет оставаться бесплатным, но существует уже с 2006 года.

geoPlugin предоставляет бесплатный API геолокации на нескольких разных языках программирования в одном вызове API. Не требуется установка программного обеспечения, и независимо от того, выбран ли ваш язык программирования Javascript , PHP , XML , JSON , ASP или CSV.
Этот продукт включает данные GeoLite, созданные MaxMind и доступные на maxmind.com .

API веб-службы Geolocation позволяет программировать php-скрипты для создания динамически геолокализованных страниц с использованием массива PHP, предоставляемого geoPlugin.
Код API геолокации, на языке программирования PHP, можно получить на сайте — geoPlugin


Включите код PHP в вашу страницу с расширением .php

<?php
echo 'var_export(unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']))); ';
?>

Который выведет информацию о массиве параметров geoPlugin

array (
  'geoplugin_request' => '54.163.22.209',
  'geoplugin_status' => 200,
  'geoplugin_delay' => '1ms',
  'geoplugin_credit' => 'Some of the returned data includes GeoLite data created by MaxMind, available from http://www.maxmind.com.',
  'geoplugin_city' => 'Ashburn',
  'geoplugin_region' => 'Virginia',
  'geoplugin_regionCode' => 'VA',
  'geoplugin_regionName' => 'Virginia',
  'geoplugin_areaCode' => '',
  'geoplugin_dmaCode' => '511',
  'geoplugin_countryCode' => 'US',
  'geoplugin_countryName' => 'United States',
  'geoplugin_inEU' => 0,
  'geoplugin_euVATrate' => false,
  'geoplugin_continentCode' => 'NA',
  'geoplugin_continentName' => 'North America',
  'geoplugin_latitude' => '39.0481',
  'geoplugin_longitude' => '-77.4728',
  'geoplugin_locationAccuracyRadius' => '1000',
  'geoplugin_timezone' => 'America/New_York',
  'geoplugin_currencyCode' => 'USD',
  'geoplugin_currencySymbol' => '$',
  'geoplugin_currencySymbol_UTF8' => '$',
  'geoplugin_currencyConverter' => '1',
)

Нужные значения которых, можете использовать в php-коде на ваших веб-страницах


Результаты геолокации для вашего IP - 54.163.22.209

Текущая дата и время: 2018-11-17 08:42:07

Страна
Регион:
Город:
Курс обмена доллара США:
Радиус точности:
Часовой пояс:
United States
Virginia
Ashburn
1 $
1000
America/New_York

    php    php класс для работы с базой населённых пунтов ipgeobase.ru

Работа с базой местонахождения российских (с точностью до города), украинских (с точностью до города) и европейских (с точностью до страны) ip-адресов.

Пример работы php-класса для работы с БД

для российских и украинских ip-адресов:

Ваш город Уфа.string(6) "Уфа"

Расширенные данные полученные из ipgeobase:

Array
(
[inetnum] => 145.255.0.0 - 145.255.15.255
[country] => RU
[city] => Уфа
[region] => Республика Башкортостан
[district] => Приволжский федеральный округ
[lat] => 54.735500
[lng] => 55.991982
)
Город - Уфа
IP - 145.255.3.6
IP адрес валиден

для европейских ip-адресов:

Ваш город NULL

Расширенные данные полученные из ipgeobase:

Array
(
[inetnum] => 77.111.244.0 - 77.111.255.255
[country] => FR
...
...
...
...
...
)
Город
IP - 77.111.247.72
IP адрес валиден

Ваш IP   —  54.163.22.209

адрес 54.163.22.209
страна JP - Japan
округ
регион
город не определён
блок
координаты шир: , дол:
Просмотреть информацию об 54.163.22.209 в базе данных службы RIPE NCC

Поиск местонахождения города по IP-адресу

Поиск с выводом на карте географического местонахождения населённого пункта по IP-адресу, выделенному RIPE NCC локальным интернет-реестрам (LIR-ам) для Российской Федерации.
Осуществляется с помощью бесплатной базы местонахождения российских, украинских (с точностью до города), а также европейских (с точностью до страны) населенных пунктов с географической привязкой (географический таргетинг). Базы ежедневно обновляются и их можно получить на ресурсе.

IpGeoBase


Полную информацию об IP-адресе посетителя

вы можете получить на сайте IP-API.com - Бесплатная API геолокации


  API JavaScript для Maps Google.


Используется API JavaScript для Maps Google.

API JavaScript для Карт имеет четыре основных типа карт (дорожная карта, спутник, гибрид и ландшафт), которые вы можете изменять с помощью слоев и стилей, элементов управления и событий, а также различных служб и библиотек.
Платформа Google Maps предоставляет разработчикам несколько способов встраивания карт Google в веб-страницы или извлечения данных из них и позволяет либо простое использование, либо расширенную настройку. Существует несколько предложений API:

Документация API JavaScript для карт Google, доступна на сайте разработчика Google   —   Maps JavaScript API

Самый простой способ начать изучение API JavaScript Maps c примера.
На следующей веб-странице будет отображается карта с центром в Сиднее, Новый Южный Уэльс, Австралия:
 
<!DOCTYPE HTML>
<html>
    <head>
     <title>Simple Map </title>
     <meta name="viewport" content="initial-scale=1.0">
     <meta charset="utf-8">
     <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
     </style>
   </head>
   <body>
     <div id="map"> </div>
     <script>
      var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: -34.397, lng: 150.644},
          zoom: 8
        });
      }
     </script>
     <script src="https://maps.googleapis.com/maps/api/js?
     key=YOUR_API_KEY&callback=initMap" async defer> </script>
    </body>
</html>
		 

Пример простой карты
 		
     <div id="map"> </div>
     <script>
      var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: -34.397, lng: 150.644},
          zoom: 8
        });
      }
     </script>

<!DOCTYPE html>
<html>
 
<head>
<!--    This stylesheet contains specific styles for displaying
   the map on this page. Replace it with your own styles as
   described in the documentation:
   https://developers.google.com/maps/documentation/javascript/tutorial
-->

   
<link rel="stylesheet" href="/maps/documentation/javascript/cgc/demos.css">
 
</head>
 
<body>
   
<div id="map"></div>
   
<script>
     
function initMap() {
       
var myLatLng = {lat: -25.363, lng: 131.044};

       
// Create a map object and specify the DOM element
       
// for display.
       
var map = new google.maps.Map(document.getElementById('map'), {
          center
: myLatLng,
          zoom
: 4
       
});

       
// Create a marker and set its position.
       
var marker = new google.maps.Marker({
          map
: map,
          position
: myLatLng,
          title
: 'Hello World!'
       
});
     
}

   
</script>
   
<script src="https://maps.googleapis.com/maps/api/js? key=YOUR_API_KEY&callback=initMap"     async defer></script>
 
</body>
</html>