5

我想在我的网站上显示用户/访问者的国旗。

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

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

4

5 回答 5

9

资源 :

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

我想这就是你要找的。

于 2013-11-04T13:04:28.470 回答
4

Yeah there is something already available and you don't have to reinvent the wheel.

Check this thing out.

 http://api.hostip.info/flag.php?ip=12.215.42.19

Grab your user's IP using PHP and pass it to the API.

<?php
$ip=$_SERVER['REMOTE_ADDR'];
?>

Putting it all together

<?php
$ip=$_SERVER['REMOTE_ADDR'];
echo "<img src='http://api.hostip.info/flag.php?ip=$ip' />";
?>
于 2013-11-04T12:50:27.427 回答
4

我的服务ipdata.co在https://api.ipdata.co上提供 IP 地理定位 API,并在例如 https://ipdata.co/flags/cu.png 上提供标志

你所要做的就是知道你的访问者所在国家的iso代码,你可以填写它

ipdata.co/flags/country-code.png

您当然可以通过调用https://api.ipdata.co/user-ip来获取用户的国家代码。

样品嵌入;

<img src="https://ipdata.co/flags/us.png" alt="US Flag">

美国国旗

编辑

我们现在还为您提供国家 emoji 标志和国家 emoji unicode。

于 2017-10-23T13:23:27.980 回答
0
  1. Get the IP of visitor.

     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. Use ip2location to find the country of the user.

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

  3. Compare the resulting country to a list of images and display the matching image. I suggest using a database to store the country name and the path to the associated image.

于 2013-11-04T12:49:33.120 回答
0

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

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

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

于 2013-11-04T12:50:46.933 回答