Php скрипт визначення оператора з ip. Sypex Geo - швидке визначення міста за IP. Дізнаємося країну користувача і не тільки

Відображати місто відвідувача для покращення конверсійних показників магазину. Готовий код вставки в будь-яке місце сайту із зазначенням міста, регіону та країни. Я перелапатив багато скриптів, але саме цей виявився найпростішим і найрезультативнішим! Я використав його при створенні сайту www.mzm-market.ru, де скрипт виводить «доставка в______»

Вставляємо в index.tpl (або на сторінці доставка) у будь-якому потрібному місці наступний код:



window.onload =function()(
jQuery("#user-city").text(ymaps.geolocation.city);
jQuery("#user-region").text(ymaps.geolocation.region);
jQuery("#user-country").text(ymaps.geolocation.country);)


Висновок проводиться за допомогою:

// Країна, місто, регіон.
geolocation.country, geolocation.city, geolocation.region

Хочу трохи доповнити цей пост (редакція від 18.02.2017).

При використанні вищеописаного скрипту в багатьох містах і браузерах просто нічого не відображалося і після довгих пошуків я знайшов напевно найпрацездатніший скрипт визначення країни, регіону, міста через API. Перевіряв його через своїх клієнтів, які знаходяться практично по всій Росії та за її межами і цей скрипт показав себе чудово! Ось скріншот мого клієнта:

Самі розумієте, що все визначилося чітко! Ну не буду вас мучити писаниною і наведу приклад!

js Визначення країни, області, міста через яндекс API

Просто вставте цей код між тегами




$(document).ready(function()(
ymaps.ready(function()(
var geolocation = ymaps.geolocation;
$("#cou").html("Ваша країна: "+geolocation.country);
$("#tow").html("Ваше місто: "+geolocation.city);
$("#reg").html("Ваш регіон: "+geolocation.region);
});
});

А цей код у потрібне місце на своїй сторінці:

Ваша країна: ... визначається...
Ваше місто: ...
Ваш регіон: ... визначається...

Демонстрація

Ваша країна: ... визначається...

Ваше місто: ...

Ваш регіон: ... визначається...

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

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

IP і не тільки

Для отримання мережевої інформації користувача PHP існує глобальний масив $_SERVER. Давайте виведемо його вміст на екран:

Тепер знаємо, що IP записується в REMOTE_ADDR. Звідки вона береться? Всі ці дані клієнт надсилає під час встановлення з'єднання. Ця змінна встановлюється в налаштуваннях сервера на стороні клієнта.

Деякі визначення міста по IP в PHP використовують значення HTTP-заголовків, але це докорінно неправильно. Будь-який користувач може прописати значення заголовків свого хоста. Також слід розуміти, який IP вам потрібний. Наприклад, значення HTTP_X_FORWARDED_FOR містить адресу віддаленого клієнта, його проксі або взагалі може бути порожнім. Коротше, тут розбиратися не на один вечір вистачить.

Що стосується браузера користувача, його можна спробувати визначити за допомогою функції get_browser (). Але для її застосування на стороні клієнта у файлі php.ini має бути прописаний шлях до browscap.ini. Інакше отримайте таке попередження:

Дізнаємося країну користувача і не тільки

Тепер за допомогою PHP визначимо країну IP. Але для початку проведемо огляд усіх рішень у цій сфері. Більшість таких скриптів використовує згаданий нами елемент глобального масиву $_SERVER REMOTE_ADDR. Тепер починається найголовніше.

Можна використовувати вже , у яких отриманий IP просто сортується в залежності від свого значення. Сподіваюся, вам не є секретом, що це значення присвоюється клієнту (хосту) залежно від його геолокації: країни, міста та регіону проживання користувача. На аналізі цих діапазонів і збудовано весь функціонал.

Також застосовуються різні сторонні послуги на зразок ip-whois.net. За допомогою скрипта ви передаєте значення IP, а той повертає дані про знаходження хоста.

Крім цього, частина спеціалізованих бібліотек поставляється зі своєю базою даної, в таблицях яких містяться всі розсортовані (за географією) діапазони IP. Я не перераховуватиму їх. Таких у Мережі зараз вистачає.

Вирішувати вам. Застосування стороннього сервісу дозволить знизити витрати ресурсів та навантаження на ваш сайт. При цьому використання бібліотеки з базою позбавить проблем із підключенням.

У наступному скрипті для визначення регіону IP PHP використовується бібліотека TabGeo. Наразі її офіційний ресурс не працює. Я скачав бібліотеку з GitHub, але використовував лише файл country.php. У ньому за отриманим ІР визначається країна проживання користувача. І потім (за ISO-кодом) можна реалізувати редиректи на різні сторінки сайту: