ページへ戻る
印刷
IP から ccTLD (国別コード)を得る
をテンプレートにして作成 ::
XOOPS マニア
UsersWiki
:nao-pon/blog/2006-07-28 をテンプレートにして作成
開始行:
** IP から ccTLD (国別コード)を得る
#keyword()
RIGHT:&tag(プログラミング);
ちょっと前から、いじっているサイト [[YouTube NAVI:http://...
当初は、ブラウザが送ってくる Accept-Charset を見て判別し...
調べてみると、http://api.hostip.info/ で、APIとして公開さ...
まずは、リストの取得ですが [[不正アクセスの発信地の国別統...
そちらのデーターを元に MySQL にデータベースを作成し、PHP...
-まずは、MySQL のテーブル構造
--http://hypweb.net/api/ip2tld/sql/ip2tld_table.sql.txt
-そして、肝心要のデーター
--http://hypweb.net/api/ip2tld/sql/ip2tld_dat.txt
-そして最後にPHPスクリプトの関数
#code(){{{
function ip2tld($ip)
{
global $config;
if (preg_match("/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/",...
{
$ip = $arg[1];
}
else
{
$ip = "";
}
$tld = "";
if ($ip)
{
$ips = explode(".",$ip);
$ip = $ips[0] * 16777216 + $ips[1] * 65536 + $ips[2] * ...
// データベースに接続し、選択する
$link = mysql_connect($config['db']['host'], $config['d...
or die("Could not connect");
//print "Connected successfully";
mysql_select_db($config['db']['name'],$link)
or die("Could not select database");
// SQLクエリを実行する
$query = "SELECT tld FROM `{$config['ip2tld']['table']}...
//echo $query;
$result = mysql_query($query)
or die("Query failed");
// HTMLに結果を出力する
list($tld) = mysql_fetch_row($result);
// 接続を閉じる
mysql_close($link);
}
if (!$tld) $tld = "XX";
return $tld;
}
}}}
--$config に配列として DB接続情報を指定してください。
#code(){{{
$config = array();
// DB setting //
$config['db']['host'] = "localhost"; // MySQL Server host
$config['db']['name'] = "db name"; // MySQL DB name
$config['db']['user'] = "user name"; // MySQL User name
$config['db']['pass'] = "password"; // MySQL Password
// ---------- //
$config['ip2tld']['table'] = "ip2tld_dat"; // DB Table na...
}}}
----
これを利用したのが [[Convert IP to ccTLD:http://hypweb.ne...
API として利用するなら http://hypweb.net/api/ip2tld/?ip= ...
現状では利用にあたり制限をしていませんが、継続性は保証で...
一式諸々をパックしておきました。ご自由にお使いください。
-&ref(ip2tld.zip);
--rename.config.php の内容を設定して config.php とリネー...
----
#comment(,btn:つっこみ)
----
終了行:
** IP から ccTLD (国別コード)を得る
#keyword()
RIGHT:&tag(プログラミング);
ちょっと前から、いじっているサイト [[YouTube NAVI:http://...
当初は、ブラウザが送ってくる Accept-Charset を見て判別し...
調べてみると、http://api.hostip.info/ で、APIとして公開さ...
まずは、リストの取得ですが [[不正アクセスの発信地の国別統...
そちらのデーターを元に MySQL にデータベースを作成し、PHP...
-まずは、MySQL のテーブル構造
--http://hypweb.net/api/ip2tld/sql/ip2tld_table.sql.txt
-そして、肝心要のデーター
--http://hypweb.net/api/ip2tld/sql/ip2tld_dat.txt
-そして最後にPHPスクリプトの関数
#code(){{{
function ip2tld($ip)
{
global $config;
if (preg_match("/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/",...
{
$ip = $arg[1];
}
else
{
$ip = "";
}
$tld = "";
if ($ip)
{
$ips = explode(".",$ip);
$ip = $ips[0] * 16777216 + $ips[1] * 65536 + $ips[2] * ...
// データベースに接続し、選択する
$link = mysql_connect($config['db']['host'], $config['d...
or die("Could not connect");
//print "Connected successfully";
mysql_select_db($config['db']['name'],$link)
or die("Could not select database");
// SQLクエリを実行する
$query = "SELECT tld FROM `{$config['ip2tld']['table']}...
//echo $query;
$result = mysql_query($query)
or die("Query failed");
// HTMLに結果を出力する
list($tld) = mysql_fetch_row($result);
// 接続を閉じる
mysql_close($link);
}
if (!$tld) $tld = "XX";
return $tld;
}
}}}
--$config に配列として DB接続情報を指定してください。
#code(){{{
$config = array();
// DB setting //
$config['db']['host'] = "localhost"; // MySQL Server host
$config['db']['name'] = "db name"; // MySQL DB name
$config['db']['user'] = "user name"; // MySQL User name
$config['db']['pass'] = "password"; // MySQL Password
// ---------- //
$config['ip2tld']['table'] = "ip2tld_dat"; // DB Table na...
}}}
----
これを利用したのが [[Convert IP to ccTLD:http://hypweb.ne...
API として利用するなら http://hypweb.net/api/ip2tld/?ip= ...
現状では利用にあたり制限をしていませんが、継続性は保証で...
一式諸々をパックしておきました。ご自由にお使いください。
-&ref(ip2tld.zip);
--rename.config.php の内容を設定して config.php とリネー...
----
#comment(,btn:つっこみ)
----
ページ名: