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 языках, что наверняка пригодится.