2016-02-26 57 views
-1

我想在php中獲取時區。我怎樣才能得到這個時區的時區?

a:14:{s:3:"zip";s:5:"78229";s:3:"lon";d:-98.5746990000;s:6:"status";s:7:"success";s:5:"query";s:13:"72.***.***.**";s:3:"org";s:17:"Time Warner Cable";s:2:"as";s:38:"AS11427 Time Warner Cable Internet LLC";s:4:"city";s:11:"San Antonio";s:8:"timezone";s:15:"America/Chicago";s:7:"country";s:13:"United States";s:3:"isp";s:17:"Time Warner Cable";s:10:"regionName";s:5:"Texas";s:3:"lat";d:29.50700000;s:11:"countryCode";s:2:"US";s:6:"region";s:2:"TX";} 

這裏是我使用http://ip-api.com/php/[YOUR_IP_HERE]

+1

怎麼樣json_decode? –

+0

明白了......必須將php更改爲url中的json lol –

回答

0

如果你閱讀文檔,Link to Docs

它看起來像你有什麼是序列化PHP的鏈接。您可以在網上進行解碼:

Deserializer for PHP

與PHP函數,雖然它說,你很可能使用JSON,例如更好http://ip-api.com/json/8.8.8.8並處理。你可以使用PHP或類似jQuery來解析字符串。

我不使用jsfiddle,但你可以看看這是否有效,是否合理。我應該注意到,當我登錄到jsfiddle時,協議是https並且代碼不起作用,因爲JSON的協議是http。它應該與提供的鏈接一起工作。

JS 

$.getJSON("http://ip-api.com/json/8.8.8.8", function(data) { 
    var items = []; 
    $.each(data, function(key, val) { 
    items.push("<li id='" + key + "'>" + val + "</li>"); 
    }); 
     items.push("<li>The Time Zone is just data.timezone: "+data.timezone+"</li>") 
    $("<ul/>", { 
    "class": "my-new-list", 
    html: items.join("") 
    }).appendTo("#results"); 
}); 

HTML 

<div id="results"></div> 

jQuery.getJSON Fiddle

如果你只是想用PHP沒有jQuery的你可以嘗試這樣的:

<?php 
$json = file_get_contents('http://ip-api.com/json/8.8.8.8'); 
$obj = json_decode($json); 
echo "<pre>"; 
print_r($obj); 
echo $obj->timezone; 
echo "</pre>"; 
?>