如何在我的网站上获取用户的国家/地区标志

时间:2013-11-04 12:47:53

标签: php html jsp

我想在我的网站上显示用户/访客的国家/地区标志。

我正在使用不同的技术,如php,jsp和简单的html。所以我想要一个代码,通过放置在我的网站上,访问者可以看到它应该在所有平台上运行。

简而言之,我想要国家检测API。如果有人可以帮助我,我会非常感激。

5 个答案:

答案 0 :(得分:9)

来源:

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

<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.cohttps://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">

给出

Smiley face

修改

我们现在还为您提供国家表情符号标志和国家表情符号unicode。

答案 3 :(得分:0)

  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. 将生成的国家/地区与图像列表进行比较,并显示匹配的图像。 我建议使用数据库来存储国家名称和相关图像的路径。

答案 4 :(得分:0)

您可以使用GeoIP extension,然后将相关国家/地区映射到给定的图标。

$countryName = geoip_country_name_by_name($_SERVER['REMOTE_ADDR']);
echo $countryName;

请注意,通过IP获取国家并不准确。