有没有办法检测到我的客户端的IP地址然后使用它来跟踪他的时区.. iam目前正在使用这段代码和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
在服务器上测试它会在本地出现时显示此错误。 我需要帮助
最好的问候..
答案 0 :(得分:3)
有多种猜测时区的方法。使用像你的问题中的服务是一个,虽然该代码看起来像它获得本地计算机的时区,但我可能是错的。在任何情况下,它似乎都不可靠。
另一种方式是jstimezonedetect javascript库。