Як дізнатися країну по ip-адресою через php
Відео: Визначити місце розташування по IP
Відео: Як знайти по 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-сервісом і економити ресурси свого сервера і місце в базі даних, то тоді можете використовувати код вище, а, допрацювавши регулярний вираз, Ви можете витягнути та інші дані, які видає даний сервіс, наприклад, місто.
- Як дізнатися http-заголовки сервера через curl
- Як дізнатися останній id в mysql
- Як визначити часовий пояс
- Як дізнатися ip-адреса відвідувача через php
- Як дізнатися синтаксис sql-запиту через phpmyadmin
- Як дізнатися реальний ip-адреса відвідувача
- Як дізнатися розміри таблиці через sql
- Arp сканування локальної мережі linux
- Чи варто зберігати зображення в бд
- Запит sql на створення і видалення бази даних
- Імпорт бази даних в phpmyadmin
- Функції для роботи з dns
- Динамічне підвантаження даних для select
- Позиціонування відвідувача на jаvascript
- Знайомство з phpmyadmin
- Sql-запити для роботи з таблицями
- Конвертація csv в sql
- Відправка sms на сайті
- Види ip-адрес: статичний і динамічний ip, зовнішній і внутрішній ip, приватний і публічний ip
- Whois і php
- Визначення країни по ip-адресою через бд