1: 2006-07-28 (金) 10:32:42 [5] | 現: 2006-07-28 (金) 01:32:42 nao-pon[6] [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/) |
(This host) = https://xoops.hypweb.net