Я хочу показать флаг страны / посетителя страны на моем сайте.
Я использую разные технологии, такие как php, jsp и простой html. Поэтому я хочу код, который, размещая на моем сайте, посетители могут видеть, и он должен работать на всех платформах.
Короче говоря, мне нужен API обнаружения стран. Если кто-нибудь может мне помочь, я буду очень благодарен.
Источник :
<a href="http://www.shorter.in/#flag" target="_blank"><img src="http://shorter.in/flag.php"></a>
Пример для приведенного выше кода.
занятый кот http://shorter.in/flag.php
Наверное, это то, что вы ищете.
Да, есть что-то уже доступное, и вам не нужно изобретать велосипед.
Проверьте это.
http://api.hostip.info/flag.php?ip=12.215.42.19
Возьмите IP-адрес своего пользователя с помощью PHP и передайте его API.
<?php $ip=$_SERVER['REMOTE_ADDR']; ?>
<?php $ip=$_SERVER['REMOTE_ADDR']; echo "<img src='http://api.hostip.info/flag.php?ip=$ip' />"; ?>
Вы можете использовать расширение GeoIP, а затем сопоставить соответствующую страну с заданным значком.
$countryName = geoip_country_name_by_name($_SERVER['REMOTE_ADDR']); echo $countryName;
Обратите внимание, что получение страны через IP неточно.
Получите IP-адрес посетителя.
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; }
Используйте ip2location, чтобы найти страну пользователя.
Сравните полученную страну со списком изображений и отобразите соответствующее изображение. Я предлагаю использовать базу данных для хранения имени страны и пути к соответствующему изображению.
Мой сервис https://ipdata.co предоставляет API IP Geolocation на https://api.ipdata.co и служит для флагов, например https://ipdata.co/flags/cu.png .
Все, что вам нужно сделать, это узнать исходный код iso вашего посетителя, и вы можете его заполнить
ipdata.co/flags/country-code.png
Конечно, вы можете получить код страны пользователя, вызвав api.ipdata.co/user-ip.
Пример внедрения;
<img src="https://ipdata.co/flags/us.png" alt="Smiley face">
дает