2014-02-18 95 views
0

即時通訊由curl擁有用戶位置的困難。通過捲曲獲取用戶位置

我有這樣的代碼:

$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; 

然而即時得到這個錯誤:

Notice: Trying to get property of non-object in /mywebsite/index.php on line 29 Unknown

用於測試目的,這是他們與隨機IP鏈路http://www.iptolatlng.com/?ip=123.125.114.144

任何幫助將非常apreciated在什麼地方出錯。

回答

1

curl_exec返回類型的請求的結果,當你試圖訪問的類型對象的結果值。 因爲您的請求返回json字符串,所以您應該使用函數json_decode

例子:

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

完美!這就是我想念:),謝謝像魅力工作。 –

+0

很高興工作。請選擇它作爲正確的答案,如果它幫助你:) –