我想在我的网站上显示用户/访客的国家/地区标志。
我正在使用不同的技术,如php,jsp和简单的html。所以我想要一个代码,通过放置在我的网站上,访问者可以看到它应该在所有平台上运行。
简而言之,我想要国家检测API。如果有人可以帮助我,我会非常感激。
答案 0 :(得分:9)
来源:
<a href="http://www.shorter.in/#flag" target="_blank"><img src="http://shorter.in/flag.php"></a>
上面给出的代码示例。
a busy cat http://shorter.in/flag.php
我想这就是你要找的东西。
答案 1 :(得分:4)
是的,已经有了可用的东西,你不需要重新发明轮子。
检查这件事。
http://api.hostip.info/flag.php?ip=12.215.42.19
使用PHP获取用户的IP并将其传递给API。
<?php
$ip=$_SERVER['REMOTE_ADDR'];
?>
<?php
$ip=$_SERVER['REMOTE_ADDR'];
echo "<img src='http://api.hostip.info/flag.php?ip=$ip' />";
?>
答案 2 :(得分:1)
我的服务ipdata.co在https://api.ipdata.co上提供了IP地理位置API,并提供了例如https://ipdata.co/flags/cu.png的标记。
您所要做的就是了解您的访客&#39;国家/地区的ISO代码,您可以填写
ipdata.co/flags/country-code.png
您当然可以致电https://api.ipdata.co/user-ip来获取用户的国家/地区代码。
示例嵌入;
<img src="https://ipdata.co/flags/us.png" alt="Smiley face">
给出
修改强>
我们现在还为您提供国家表情符号标志和国家表情符号unicode。
答案 3 :(得分:0)
获取访客的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查找用户所在的国家/地区。
将生成的国家/地区与图像列表进行比较,并显示匹配的图像。 我建议使用数据库来存储国家名称和相关图像的路径。
答案 4 :(得分:0)
您可以使用GeoIP extension,然后将相关国家/地区映射到给定的图标。
$countryName = geoip_country_name_by_name($_SERVER['REMOTE_ADDR']);
echo $countryName;
请注意,通过IP获取国家并不准确。