Back to page

− Links

 Print 

Backup diff of IP から ccTLD (国別コード)を得る vs current(No. 1) :: XOOPS マニア

Backup diff of UsersWiki:nao-pon/blog/2006-07-28 vs current(No. 1)

  Next »[4]
1: 2006-07-28 (Fri) 10:32:42 source[5] Cur: 2006-07-28 (Fri) 01:32:42 nao-pon[6] source[7]
Line 1: Line 1:
-#freeze uid:1 aid:0 gid:0 
-// author:1 
-// author_ucd:dQh9JbjdAEAY nao-pon 
** IP から ccTLD (国別コード)を得る [#l40617ff] ** IP から ccTLD (国別コード)を得る [#l40617ff]
#keyword() #keyword()
-#category(#right,:Blog,プログラミング)+RIGHT:&tag(プログラミング);
ちょっと前から、いじっているサイト [[YouTube NAVI:http://youtube.navi-gate.org/]] は、内容がワールドワイドなコンテンツなので、Amazon のアソシエイツも各国のそれに参加しています。 ちょっと前から、いじっているサイト [[YouTube NAVI:http://youtube.navi-gate.org/]] は、内容がワールドワイドなコンテンツなので、Amazon のアソシエイツも各国のそれに参加しています。
Line 14: Line 11:
まずは、リストの取得ですが [[不正アクセスの発信地の国別統計をとろう!:http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html]] で Nakamura Minoru さんという方が、世界に4ヶ所ある IP アドレスを管理している組織が公開しているデータをまとめて公開されているのを発見! まずは、リストの取得ですが [[不正アクセスの発信地の国別統計をとろう!:http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html]] で Nakamura Minoru さんという方が、世界に4ヶ所ある IP アドレスを管理している組織が公開しているデータをまとめて公開されているのを発見!
-そちらのデーターを元に MySQL にデータベースを作成しまし、PHPスクリプトで問い合わせるものを作ってみました。+そちらのデーターを元に MySQL にデータベースを作成し、PHPスクリプトで問い合わせをする関数を作ってみました。
-まずは、MySQL のテーブル構造 -まずは、MySQL のテーブル構造
Line 21: Line 18:
--http://hypweb.net/api/ip2tld/sql/ip2tld_dat.txt --http://hypweb.net/api/ip2tld/sql/ip2tld_dat.txt
-そして最後にPHPスクリプトの関数 -そして最後にPHPスクリプトの関数
-<<<+#code(){{{
function ip2tld($ip) function ip2tld($ip)
{ {
    global $config;     global $config;
 +    
    if (preg_match("/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/",$ip,$arg))     if (preg_match("/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/",$ip,$arg))
    {     {
Line 34: Line 31:
     $ip = "";      $ip = "";
    }     }
 +    
    $tld = "";     $tld = "";
Line 57: Line 54:
     // HTMLに結果を出力する      // HTMLに結果を出力する
     list($tld) = mysql_fetch_row($result);      list($tld) = mysql_fetch_row($result);
 +    
     // 接続を閉じる      // 接続を閉じる
     mysql_close($link);      mysql_close($link);
Line 66: Line 63:
    return $tld;     return $tld;
} }
->>>+}}}
--$config に配列として DB接続情報を指定してください。 --$config に配列として DB接続情報を指定してください。
-<<<+#code(){{{
$config = array(); $config = array();
Line 79: Line 76:
$config['ip2tld']['table'] = "ip2tld_dat"; // DB Table name (ip2tld_dat) $config['ip2tld']['table'] = "ip2tld_dat"; // DB Table name (ip2tld_dat)
->>>+}}}
---- ----
Line 92: Line 89:
---- ----
 +
#comment(,btn:つっこみ) #comment(,btn:つっこみ)
---- ----
-***似たような BLOG [#p891d865] 
-#blogs(like) 
-#ping(http://www.blogpeople.net/servlet/weblogUpdates,http://i-uranai.net/tb.php/aries/) 
  Next »[4]