Php 通过curl获取用户位置

Php 通过curl获取用户位置,php,curl,geolocation,Php,Curl,Geolocation,我很难让用户通过卷曲定位 我有以下代码: $ip ='123.125.114.144'; $result ='Unkown' ; $ch = curl_init(); $timeout = 5; // set to zero for no timeout curl_setopt ($ch, CURLOPT_URL, 'http://www.iptolatlng.com/?ip='.$ip); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_s

我很难让用户通过卷曲定位

我有以下代码:

$ip ='123.125.114.144';
$result ='Unkown' ;
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://www.iptolatlng.com/?ip='.$ip);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$ip_data = curl_exec($ch);
curl_close($ch);

if($ip_data && $ip_data->countryFullName != null)  //---the error is in this line
{
    $result = $ip_data->countryFullName;
}

echo $result;
然而,我得到了这个错误:

注意:试图在第29行的/mywebsite/index.php中获取非对象的属性 不为人知

出于测试目的,这是他们与随机ip的链接


任何关于出错原因的帮助都将非常宝贵。

curl\u exec
字符串类型返回请求的结果,同时尝试访问对象类型中的结果值。 因为您的请求返回json字符串,所以应该使用函数
json\u decode

例如:

$ip_data = curl_exec($ch);
$ip_obj = json_decode($ip_data);
echo $ip_obj->countryFullName;

完美的这就是我所缺少的:),谢谢像一个符咒一样奏效。很高兴它奏效了。如果它对您有帮助,请选择它作为正确答案:)