Як дізнатися країну по ip-адресою через php

Відео: Визначити місце розташування по IP

Як дізнатися країну по IP-адресою через PHP

Відео: Як знайти по IP адресою

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




Дізнатися країну по IP-адресою через PHP можна двома шляхами. Перший шлях - це скористатися яким-небудь WHOIS-сервісом, відправивши на нього запит і отримати від нього відповідь. Другий варіант - створити свою таблицю в базі даних, в якій будуть знаходитися відповідності IP-адрес і країн. Плюси і мінуси першого і другого способу очевидні, тому не буду на них зупинятися. Другий спосіб реалізації залежить від Вашої бази даних і від таблиці, в якій знаходяться відповідності IP-адрес і країн. Тому ми з Вами розглянемо перший спосіб, так як він універсальний, хоча, безумовно, на локальному сервері без підключення до Інтернету Ви не зможете протестувати даний скрипт:

Відео: Як вичесліть людини по ip

lt ;?php
if( $ curl = curl_init()){
$ ip
= $ _SERVER["REMOTE_ADDR"] -
curl_setopt
($ curl, CURLOPT_URL,`Http://ip-whois.net/ip_geo.php?ip=`.$ ip) -
curl_setopt
($ curl, CURLOPT_RETURNTRANSFER,true) -
$ out
= curl_exec($ curl) -
$ matches
= array() -
$ country
= preg_match_all("/ Країна: (. *) / I", $ out, $ matches) -
print_r
($ matches[1] [1]) -
curl_close
($ curl) -
}
?gt;



Коротко принцип: знаходимо сервіс, дивимося, як треба відправляти запит (як називаються змінні, яким методом відправляються), відправляємо через cURL запит, отримуємо відповідь, витягуємо потрібний рядок через регулярні вирази, виводимо результат. Якщо Ви запустите цей скрипт, то побачите назву країни, якій належить Ваш IP-адреса. Однак, варто зазначити, що далеко не для кожного IP-адреси можливо дізнатися країну. Тут залежить від бази, яку використовує конкретний WHOIS-сервіс. Відразу скажу, що для тестування цього скрипта треба його завантажити на віддалений сервер, щоб не підставлявся IP-адреса: 127.0.0.1, так як він не спрацює, адже для нього країни не сущесвуют. Або ж просто замініть значення змінної $ ip на який-небудь інший IP-адреса. Як бачите, все дуже просто, головне, тут чітко вибрати один з двох способів. Якщо ви захочете дізнаватися країну по IP-адресою через свою базу даних, то тоді Вам треба її попередньо знайти. Їх досить багато, тому просто пошукайте їх в Інтернеті. А якщо Вас влаштовує користуватися WHOIS-сервісом і економити ресурси свого сервера і місце в базі даних, то тоді можете використовувати код вище, а, допрацювавши регулярний вираз, Ви можете витягнути та інші дані, які видає даний сервіс, наприклад, місто.

Поділися в соціальних мережах:

Схожі
Імпорт бази даних в phpmyadminІмпорт бази даних в phpmyadmin
Функції для роботи з dnsФункції для роботи з dns
Як дізнатися http-заголовки сервера через curlЯк дізнатися http-заголовки сервера через curl
Arp сканування локальної мережі linuxArp сканування локальної мережі linux
Як дізнатися реальний ip-адреса відвідувачаЯк дізнатися реальний ip-адреса відвідувача
Як дізнатися ip-адреса відвідувача через phpЯк дізнатися ip-адреса відвідувача через php
Конвертація csv в sqlКонвертація csv в sql
Визначення країни по ip-адресою через бдВизначення країни по ip-адресою через бд
Чи варто зберігати зображення в бдЧи варто зберігати зображення в бд
Sql-запити для роботи з таблицямиSql-запити для роботи з таблицями
» » Як дізнатися країну по ip-адресою через php