2017-02-05 2 views
0

私はfreegeoip.netで回り込み、私の訪問者のIPに関するいくつかの情報をもっと得ようとしています。私は成功し、ユーザーのIPのための配列情報を取得することができますが、離れて配列を破るとPHP - GeoIPアレイを印刷

配列結果などIP、市、国コード、のために個々の変数を取得するように見えるカント:

Array ([ip] => 77.99.179.98 [country_code] => GB [country_name] => United Kingdom [region_code] => ENG [region_name] => England [city] => Gloucester [zip_code] => GL1 [time_zone] => Europe/London [latitude] => 51.8333 [longitude] => -2.25 [metro_code] => 0) 

PHP

<?php 
$ip = "77.99.179.98"; 

$geoip = json_decode(file_get_contents('http://freegeoip.net/json/'.$ip), true); 
print_r($geoip); 

foreach ($geoip as $result) { 
    echo $result['ip']."<br>"; 
} 

?> 

EDIT: 私はWarning: Illegal string offset 'ip' in ... on line 9エラーを受け取りましたが、返されたIPアドレスの最初の数字を取得します... wth?

+0

その配列の結果は?それは '$ geoip'の内容ですか? –

+0

はい、 'foreach($ geoip as $ result){' – Armitage2k

+0

を参照してください。そうすれば、 'json_decode($ geoip、true)'を使ってデコードする必要がありますので、 '$ geoip json_decode(file_get_contents( 'http:// freegeoip。 –

答えて

1

ようやく!

<?php 
$ip = "77.99.179.98"; 

$ip_data = file_get_contents('http://freegeoip.net/json/'.$ip); 
$data = json_decode($ip_data); 

print_r($data); 

echo "<br><br>"; 

echo htmlspecialchars($data->country_name); 

?> 
0

あなたはイースリー個々の変数を取得することができます:

<?php 
$geoip = json_decode(file_get_contents('http://freegeoip.net/json/'.$‌​ip); 
$ip=$geoip['ip']; 
$country=$geoip['country_name'];// visitor country 
echo "<br>".$ip; 
echo "<br>".$country; 
?> 

あなたはすべての訪問者の情報を表示したい場合は、次の

<?php 
$geoip = json_decode(file_get_contents('http://freegeoip.net/json/'.$‌​ip)); 
foreach ($geoip as $result) { 
    echo $result."<br>"; 
} 
?>