我如何找到网站访问者的位置(仅城市)使用javascript或PHP


How can i find website visitor's location(only city) using javascript or PHP?

我想获取一个访问者访问我的网站的城市名称。我想根据位置(城市名称)显示一些结果。我已经尝试了很多代码,但他们没有获取正确的城市名称。编程语言:javascript或Php

请帮。

你可以…

  • 使用地理定位API: http://dev.w3.org/geo/api/spec-source.html - Pro:非常准确。Con:用户必须允许使用他的地理位置
  • 或者您可以使用http://www.ipinfodb.com/ip_location_api.php等服务通过IP获取位置。Pro:也适用于旧浏览器,无需许可。Con:不准确(IP详细信息在所有情况下都没有指向正确的位置)。

有两种实现方法。使用javascript或php。javascript的问题是所有浏览器都不支持此功能,并且需要客户端权限才能跟踪位置。如果用户不想分享他的位置,那么javascript将阻止它。这是使用php的最佳方式你可以查看http://www.ipinfodb.com/这个url

这是免费的ip数据库列表,你也可以找到php api来实现它。你必须在这个网站上创建一个免费的帐户,并获得一个api密钥,你可以使用如下的php代码

    $location_str = file_get_contents("http://api.ipinfodb.com/v3/ip-country/?key=<your_api_key>ip=".$_SERVER['REMOTE_ADDR'] );
    echo $location_Str;

如果需要城市信息,可以将url中的"ip-country"替换为"ip-city"。