【发布时间】:2012-11-29 18:22:56
【问题描述】:
有没有办法检测到我客户的 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
在服务器上测试它会显示此错误,而在本地没问题.. 我需要帮助
最好的问候..
【问题讨论】:
-
$json的价值是什么?你能记录下来吗? -
你应该看看下面的链接。 stackoverflow.com/questions/3488425/…
-
Psst,你得到的是
hostname结果的IP地址,这很可能导致本地或私有IP地址范围。或许你应该把一个真实的 IP 地址放在那里进行测试。 -
其实我已经把 $ip 改成了