有没有办法检测我的客户端的IP地址,然后使用它来跟踪他的时区。我目前正在将此代码块与 API 一起使用:
function getIpAddress() {
return (empty($_SERVER['HTTP_CLIENT_IP'])?(empty($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['REMOTE_ADDR']:$_SERVER['HTTP_X_FORWARDED_FOR']):$_SERVER['HTTP_CLIENT_IP']);
}
ini_set("allow_url_fopen",1);
$getfunc= 'getIpAddress';
$getfunc= 'getIpAddress';
$json = file_get_contents('http://smart-ip.net/geoip-json/'.$ip);
$ipData = json_decode( $json, true);
$ipadd = $ipData['host'];
$geotz = $ipData['timezone'];
$geotzd = 'Passed';
$cntry = $ipData['countryName'];
$ip返回 122.54.230.162。 但仍然说我的问题是
Message: Undefined index: timezone
在服务器上测试它将显示此错误,而在本地可以。我需要帮助
此致敬意。。
有多种
方法可以猜测时区。使用像您的问题中的服务是其中之一,尽管该代码在我看来就像它获取了本地计算机的时区,但我可能是错的。无论如何,它似乎并不可靠。
另一种方法是jstimezonedetect javascript库。