September 28, 2020
Определяем город по IP на PHP
Самый элементарный способ вычислить определить город посетителя сайта по IP - воспользоваться каким то готовым API.
Sypex Geo как раз предоставляет такую возможность. Сразу немного инфы по количеству запросов:
- 10 000 запросов в месяц на каждого пользователя
- если мы зарегистрируемся - у нас будет 30 000 запросов в месяц на каждого пользователя
Про платную подписку даже писать не буду, потому как такого количества с головой хватит большинству корпоративных сайтиков.
Итак, все что нам нужно - это закинуть им запрос. На пыхе (PHP), можно написать так:
if($request = filegetcontents("https://api.sypexgeo.net/json/".$SERVER['REMOTEADDR']))
{
$array = json_decode($request);
$geoipcity = $array->city->name_en;
}Где $SERVER['REMOTEADDR'] - IP нашей жертвы.
Ответ нам придет такой (в JSON):
При этом, на скрине не видно, но там еще валяется информация о стране (население, телефонный код, ближайшие соседи) и о регионе. Имена мы получаем сразу на 7 языках, что наверняка пригодится.