Warning: include(/home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-settings.php on line 74

Warning: include(/home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-settings.php on line 74

Warning: include(): Failed opening '/home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-content/advanced-cache.php' for inclusion (include_path='.:/usr/local/php/5.4/lib/php') in /home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-settings.php on line 74
IPアドレスからの住所特定をPHPで実装するには – Androidアプリつくったった

IPアドレスからの住所特定をPHPで実装するには

register_fin_api

IPアドレスからの住所特定をPHPで実装

regionName;
echo ‘

緯度

‘;
echo $xml->latitude;
echo ‘

経度

‘;
echo $xml->longitude;

$isp = geoip_isp_by_name(‘dhmo.wktk.so’);
if ($isp) {
echo ‘This host IP is from ISP: ‘ . $isp;
}
?>

これが今回実装で取得できる内容で取得できる内容です。
上記の情報はみなさんのアクセス情報をもとに動的に変化させています。
IPInfoDBのAPIを使ってみました。
アクセスしたIPを元に位置情報を特定します。
個人を特定できるような制度ではありませんが・・

返ってくるXMLは日本の皆さんならこんな感じになるはずです。
結構シンプルですね。

<Response>
<statusCode>OK</statusCode>
<statusMessage/>
<ipAddress>IPアドレス</ipAddress>
<countryCode>JP</countryCode>
<countryName>JAPAN</countryName>
<regionName>TOKYO</regionName>
<cityName>TOKYO</cityName>
<zipCode>-</zipCode>
<latitude>緯度</latitude>
<longitude>経度</longitude>
<timeZone>+09:00</timeZone>
</Response>

後は表示するだけ、ちなみに投稿内でPHPを利用するため
プラグインExec-PHPを使っています。
(プラグインを有効化、チェック入れて更新で利用できます。
投稿画面にエラーが出てたら、ユーザ->あなたのプロフィールにて
Exec-PHP
 
 
のようにチェックを入れると消えます。※クリックででかくなります。)
 
ソースはこんな感じで書いています。
 

<?php

$ip=$_SERVER['REMOTE_ADDR'];
 
$url='http://api.ipinfodb.com/v3/ip-city/?key=bd487bdabd19e484b3d3e42649ab47e390c59a98ac8e23bc60e33d2a6c955f6d&ip='.$ip.'&format=xml';
 
$xml = simplexml_load_file($url); 
echo $xml->regionName;
echo '<br />緯度<br />';
echo $xml->latitude;
echo '<br />経度<br />';
echo $xml->longitude;
?>

 
気になるのはAPIキーの取得だと思います。
 
これまた3行で説明してみます。
 
IPInfoDBへの登録ページにアクセス、利用する必要事項を登録
自動返信のメールが登録したアドレスに届くのでその中のリンクをクリックして登録完了
後はアクセスしたページ書いてあるAPIキーを設定すればOKです。

登録が成功しているとこんな感じで出てきます。
register_fin_api
 
 
  

  

  

  

  

  

  
  
  
  
  
  
  
   
 
 
以上です。

参考になれば幸いです。
‘;
$ip_addr=getenv(“REMOTE_ADDR”);
echo “your ip-address is: “. $ip_addr .”
“;

$remote_host_name=gethostbyaddr(getenv(“REMOTE_ADDR”));
echo “your remote host name is: “. $remote_host_name .”
“;

?>


About the Author

dhmo
Author:DHMO(ディベロッパー名) 仕事では自社サービス・メディアの開発を行ってます。 趣味でAndroidアプリ製作を行っています。 カラオケではランキングバトルにはまっております。 Mail: dihydromooxide7@gmail.com 

Be the first to comment on "IPアドレスからの住所特定をPHPで実装するには"

Leave a comment

Your email address will not be published.


*