独自の IP データベースを構築すると、リソースが消費され、更新が不便になります。既製の IP クエリを使用してみてはいかがでしょうか。以下に、IP 物理アドレスを取得するための PHP コードを書きました (いくつかの欠陥があります。お気軽に教えてください)
コードをコピーします コードは次のとおりです:
"" />
;?php
$ipAddr = "218.75.124.100";
$ip138Addr = "http://www.ip138.com/ips8.asp?ip=".$ipAddr."&action=2"; ($ip138Addr);
$pattern = "/
/";
$string = $contents;
$num = count($) addrArray[0]);
for($i = 0;$iecho $addrArray[0][$i] = mb_convert_encoding($addrArray[0][$i],"UTF -8", "GB2312 ");
switch($i) {
case 0:$str = "このサイトのマスターデータ: ";break;
case 1:$str = "参照データ 1:";break;
case 2:$str = "参照データ 2:";break; "参照データ 3:";break;
case 4:$str = "参照データ 4:";break; "参照データ 6:";break;
case 6:$str = "参照データ 7:";break;
}
$addrArray ][$i] = トリム ($addrArray[0][$i],$str);
}
$addrArray[0][0] = トリム($addrArray[0][0],":");
echo ";
print_r($addrArray);
http://www.ip138 .com の後に正規表現を使用してコンテンツの一部をインターセプトします。正規表現は自分で記述します。
最初は大丈夫だったのですが、以下の処理結果が文字化けしていました。 「:」を削除する文を追加しました。理由は分かりませんが文字化けしない現象が実現できました。
正規表現 - 指定したIPの物理アドレスを取得 (2) chinaz data
結果以前の IP によって取得された IP アドレスはあまり完璧ではありません。その理由は ip138 のため、外部アドレスを扱う場合の IP 解析はあまり詳細ではないため、Chianz.com を使用してコードを書き直しました。
コードをコピーします
コードは次のとおりです:
$ipAddr = "4.4.44.4"; .com/IP /?IP=".$ipAddr; $contents = file_get_contents($ipChinazAddr); $pattern = "/==>>.+
/" ; $string = $contents; preg_match_all($pattern,$string,$addrArray);
$num = "/(==>>); (==> ;>s)/";
for($i = 0;$i$addrArray[0][$i] = preg_replace($pattern,"",$ addrArray[0] [$i]);
echo "
";
;/html>
結果は満足です
上記は、IP 物理アドレスを取得するために書いた 2 つのコードです。初心者として、何もすることがないときに簡単なコードを書くのは非常に興味深いです。しかし、結局のところ、私は初心者なので、セキュリティ、スペースの使用、時間の効率などの問題に注意を払うことができません。ありがとう、兄弟
、足跡を残してください。
http://www.bkjia.com/PHPjc/323668.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/323668.html技術記事独自の IP データベースを構築すると、リソースが消費され、更新が不便になります。既製の IP クエリを使用してみてはいかがでしょうか。以下に、IP 物理アドレスを取得するための PHP コードを書きました (いくつかの欠陥があります。マスターの方は寛大にお願いします...
)