Php 获得网站访问者的最佳方式是什么;什么地方?
在谷歌搜索之后,我发现许多解决方案似乎不起作用,或者需要用户的许可Php 获得网站访问者的最佳方式是什么;什么地方?,php,javascript,geolocation,ip-geolocation,Php,Javascript,Geolocation,Ip Geolocation,在谷歌搜索之后,我发现许多解决方案似乎不起作用,或者需要用户的许可 寻找易于使用的东西,PHP或Javascript,并且不需要用户的许可。它不需要是最精确的。Google Analytics非常适合这一点(javascript) 编辑: 应该指出,谷歌分析有一个API来获取城市/国家信息和所有报告信息,如果你需要以编程方式使用它- 但如果这不是一个选项: 您可以使用PHP的$\u服务器['REMOTE\u ADDR'] 有了它,您可以使用PHP的GeoIP库对其进行地理定位:Google An
寻找易于使用的东西,PHP或Javascript,并且不需要用户的许可。它不需要是最精确的。Google Analytics非常适合这一点(javascript) 编辑: 应该指出,谷歌分析有一个API来获取城市/国家信息和所有报告信息,如果你需要以编程方式使用它- 但如果这不是一个选项: 您可以使用PHP的
$\u服务器['REMOTE\u ADDR']
有了它,您可以使用PHP的GeoIP库对其进行地理定位:Google Analytics非常适合这个(javascript) 编辑: 应该指出,谷歌分析有一个API来获取城市/国家信息和所有报告信息,如果你需要以编程方式使用它- 但如果这不是一个选项: 您可以使用PHP的
$\u服务器['REMOTE\u ADDR']
有了它,您可以使用PHP的GeoIP库对其进行地理定位:这就是我使用的(您可以通过$\u服务器['REMOTE\u ADDR']
获取IP并将其传递给函数):
这就是我使用的(您可以通过$\u SERVER['REMOTE\u ADDR']
获取IP并将其传递给函数):
我认为非常重要的是要指出,通过php从MaxMind查询GEO IP数据库是一个很好的解决方案,如果该站点的流量超过个人站点的流量,那么您必须投资MaxMind许可证。拥有将MaxMind集成到高容量电子商务零售网站的经验,成本可能相当可观(尽管支付系统方面的好处非常值得)
还有一条评论。GeoIP仅适用于用户所连接的ISP本地DNS服务器的一般覆盖区域。它不是全球定位系统。它通常不会深入到街道层面。而且,如果用户通过代理、VPN等进行连接,那么数据/信息是无用的。我认为非常重要的一点是,通过php从MaxMind查询地理IP数据库是一个很好的解决方案,如果该站点的流量超过个人站点的流量,则必须投资MaxMind许可证。拥有将MaxMind集成到高容量电子商务零售网站的经验,成本可能相当可观(尽管支付系统方面的好处非常值得)
还有一条评论。GeoIP仅适用于用户所连接的ISP本地DNS服务器的一般覆盖区域。它不是全球定位系统。它通常不会深入到街道层面。而且,如果用户通过代理、VPN等进行连接,则数据/信息是无用的。请参阅右侧的相关问题,有人问了很多这是最佳方式吗?问问他们。否则,请使用GeoIP,并做好准备,在许多情况下,它会非常不准确。使用GeoIP,您将无法获得确切的位置。使用HTML5利用附近的Wifi接入点获取更精确的位置需要用户许可,你无法绕过这一点。请参阅右侧的相关问题,这是一个很好的解决方法?问问他们。否则,请使用GeoIP,并做好准备,在许多情况下,它会非常不准确。使用GeoIP,您将无法获得确切的位置。使用HTML5利用附近的Wifi接入点获取更准确的位置需要用户许可,你无法绕过这一点。我找不到任何关于获取和使用GA从上面提供的谷歌链接获取城市信息的信息。你能详细说明一下吗?谢谢,我找不到任何关于获取和使用GA从上面提供的谷歌链接中获取城市信息的信息。你能详细说明一下吗?谢谢
function GeoData($ip)
{
$Content = CurlGet("http://api.hostip.info/get_html.php?ip=" . $ip . "&position=true");
$ContentArr = explode("\n", $Content);
$Stack = array();
$Ctr = 0;
foreach($ContentArr as $Item)
{
if($Ctr == 2)
{
$Ctr++;
continue;
}
if($Ctr == 6)
break;
$SingleItemArr = explode(":", $Item);
array_push($Stack, $SingleItemArr[1]);
$Ctr++;
}
$MappedStr = array("country" => $Stack[0], "city" => $Stack[1], "latitude" => $Stack[2], "longitude" => $Stack[3], "ip" => $Stack[4]);
$JsonEncoded = json_encode($MappedStr);
return $JsonEncoded;
}