Как я могу получить флаг страны на моем сайте

Я хочу показать флаг страны / посетителя страны на моем сайте.

Я использую разные технологии, такие как php, jsp и простой html. Поэтому я хочу код, который, размещая на моем сайте, посетители могут видеть, и он должен работать на всех платформах.

Короче говоря, мне нужен API обнаружения стран. Если кто-нибудь может мне помочь, я буду очень благодарен.

Источник :

http://www.shorter.in/#flag

<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 неточно.

  1. Получите 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']; } 
  2. Используйте ip2location, чтобы найти страну пользователя.

    http://dev.maxmind.com/geoip/legacy/geolite/

  3. Сравните полученную страну со списком изображений и отобразите соответствующее изображение. Я предлагаю использовать базу данных для хранения имени страны и пути к соответствующему изображению.

Мой сервис 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"> 

дает

улыбающееся лицо