2017-10-15 6 views
2

私はIPアドレスに基づいて場所を見つけるために次のPHPコードを書いています。しかし、このコードはクライアント側では正常に動作しますが、サーバー上では動作しません。何が問題なのでしょうか?IP PHPでの位置

このコードでは、IPアドレス(1行目のみ実行)が表示され、その他の詳細情報は表示されません。

+0

「問題はありません」は問題の説明として役に立たない。何が起こりますか?何が表示されますか?あなたのログファイルには何が入っていますか? – Mat

+0

エラーは何ですか?あなたはその問題について少し具体的なことができますか? –

+0

これは動作していないと言う場所に$ ipの値をダンプできますか? – Miek

答えて

4

エラーメッセージが表示されない場合は、先に進んでfile_get_contentsがブロックされていると仮定します。

CURLより信頼性の高いURLです。

<?php 

echo $ip = $_SERVER['REMOTE_ADDR']; 

$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => "http://ipinfo.io/{$ip}/json" 
)); 
$details = json_decode(curl_exec($curl)); 
curl_close($curl); 

echo "<br>".$details->ip; 
echo "<br>".$details->country; 
echo "<br>".$details->region; 
echo "<br>".$details->city; 
echo "<br>".$details->loc; 
echo "<br>".$details->postal; 
echo "<br>".$details->org; 
+0

両側(クライアントとサーバー)で動作しました。ありがとうございました – Nandkumar

+0

upvoteと "承認の回答"も感謝の偉大な形式です;)嬉しいことがあります –

+0

私はあなたの答えを実行するが、ここでどのリンクをクリックして受け入れるかわからない。 :-) – Nandkumar

関連する問題