✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як отримати геолокацію з IP у PHP

27

Ви шукаєте спосіб отримати геолокацію користувача з IP-адреси в PHP? Використовуючи Geolocation, ви дізнаєтесь, де розташовані відвідувачі вашого веб-сайту. Його можна використовувати для цільової аудиторії. Залежно від місцезнаходження користувача ви можете показати їм відповідний вміст.

Ми знаємо, як знайти позицію користувача, доступний HTML5 API геолокації. Але цей API працює на основі дозволу. Він відкриває вікно користувача та запитує його дозволи, тоді тільки це працює.

Для подолання цієї ситуації доступна одна послуга ipstack. У цій статті ми вивчаємо, як отримати геолокацію з IP у PHP за допомогою служби ipstack.

Отримайте ключ API

Для початку потрібно спочатку зареєструватися в ipstack. ipstack надає різні рівні послуг, від безкоштовних до корпоративних. Якщо ви користуєтесь цією послугою вперше, то рекомендуємо спочатку скористатися безкоштовними тарифами. На момент написання цієї статті безкоштовна послуга дозволяє 10000 запитів на місяць. Це означає, що ви можете щомісяця безкоштовно перевіряти геолокацію 10000 IP.

Після реєстрації в ipstack ви отримаєте свій ключ доступу. Цей ключ потрібен, коли ми будемо викликати API для ipstack.

Нижче наведено знімок екрана інформаційної панелі ipstack, куди ви можете скопіювати ключ доступу.

Як отримати геолокацію з IP у PHP

Отримати геолокацію з IP у PHP

На даний момент ми створили обліковий запис у ipstack і отримали ключ доступу. Тепер ми можемо почати користуватися їхньою послугою та отримати геолокацію з IP-адреси. Оскільки нам потрібно дати виклик API ipstack, ми використовували б PHP cURL для виклику API. Користувач також може використовувати Guzzle замість cURL.

Скажімо, нам потрібно знайти геолокацію IP „103.47.153.189″. Тому ми напишемо код для нього, як показано нижче.

<?php
// set API Access Key
$access_key = 'YOUR_ACCESS_KEY';
 
// set phone number
$ip_address = '103.47.153.189';
 
// Initialize CURL:
$ch = curl_init('http://api.ipstack.com/'. $ip_address .'?access_key='. $access_key);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
?>

Натомість ви отримаєте відповідь на зразок:

{  
   "ip":"103.47.153.189",
   "type":"ipv4",
   "continent_code":"AS",
   "continent_name":"Asia",
   "country_code":"IN",
   "country_name":"India",
   "region_code":"MH",
   "region_name":"Maharashtra",
   "city":"Pune",
   "zip":"411001",
   "latitude":18.5333,
   "longitude":73.8667,
   "location":{  
      "geoname_id":1259229,
      "capital":"New Delhi",
      "languages":[  
         {  
            "code":"hi",
            "name":"Hindi",
            "native":"u0939u093fu0928u094du0926u0940"
         },
         {  
            "code":"en",
            "name":"English",
            "native":"English"
         }
      ],
      "country_flag":"http://assets.ipstack.com/flags/in.svg",
      "country_flag_emoji":"ud83cuddeeud83cuddf3",
      "country_flag_emoji_unicode":"U+1F1EE U+1F1F3",
      "calling_code":"91",
      "is_eu":false
   }
}

Ви можете побачити, скільки інформації ми можемо отримати, просто надіславши IP-адресу. Ми майже отримуємо всю інформацію, яка може знадобитися, з ІР. Користувач також може надсилати кілька IP-адрес, розділяючи їх комами.

Ми сподіваємось, ви зможете дізнатися про те, як отримати геолокацію з IP у PHP. Ми хотіли б почути ваші думки в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі