2017-01-25 12 views
0

を推測:json_decodeリターンヌル私は自分のサーバー上でこれを実行しよう

<?php 
$ip = $_SERVER['REMOTE_ADDR']; 
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); 
echo $ip; 
$city = $details -> city; 
echo $city; 
?> 

しかし、この印刷IPのみ。 サーバーの問題または構成ですか?

+2

file_get_contents( "http://ipinfo.io/{$ip}/json")の内容は何ですか? –

+0

'var_dump($ details);'は何を表示しますか? – Barmar

+0

あなたのコードはうまく動作します。サーバー上で 'url_fopen'を有効にしていない可能性がありますか? 'error_reporting(E_ALL);でエラー報告を有効にする – Barmar

答えて

1

あなたは、そのサイトは、あなたがそれを与えるIPアドレスのデータがない場合、ディフェンシブにビットをコーディングする必要があり、それはこれが少しより安全である任意のcityプロパティ

を返す習慣

$ip = $_SERVER['REMOTE_ADDR']; 
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); 
echo $ip . ' '; 
if (isset($details->city)){ 
    echo $details->city; 
} else { 
    echo 'data not available'; 
} 

私のIPアドレスで返されたものから判断すると、それが提供する詳細はあまり正確ではありません

関連する問題