復制代碼 代碼如下:
 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title></title> 
<meta charset="UTF-8" /> 
<meta content="" /> 
<meta content="" /> 
<meta content="" /> 
</head> 
<body> 
<?php 
$ipAddr = "218.75.124.100"; 
$ip138Addr = "http://www.ip138.com/ips8.asp?ip=".$ipAddr."&action=2"; 
$contents = file_get_contents($ip138Addr); 
$pattern = "http://<li.+?//li/>/"; 
$string = $contents; 
preg_match_all($pattern,$string,$addrArray); 
$num = count($addrArray[0]); 
for($i = 0;$i<$num;$i++){ 
echo $addrArray[0][$i] = mb_convert_encoding($addrArray[0][$i],"UTF-8", "GB2312"); 
switch($i) { 
case 0:$str = "<li>本站主數據:</li>";break; 
case 1:$str = "<li>參考數據一:</li>";break; 
case 2:$str = "<li>參考數據二:</li>";break; 
case 3:$str = "<li>參考數據三:</li>";break; 
case 4:$str = "<li>參考數據四:</li>";break; 
case 5:$str = "<li>參考數據六:</li>";break; 
case 6:$str = "<li>參考數據七:</li>";break; 
} 
$addrArray[0][$i] = trim($addrArray[0][$i],$str); 
} 
$addrArray[0][0] = trim($addrArray[0][0],":"); 
echo "<pre>"; 
print_r($addrArray); 
echo "</pre>"; 
?> 
</body> 
</html> 
復制代碼 代碼如下:
 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title></title> 
<meta charset="UTF-8" /> 
<meta content="" /> 
<meta content="" /> 
<meta content="" /> 
</head> 
<body> 
<?php 
$ipAddr = "4.4.44.4"; 
$ipChinazAddr = "http://tool.chinaz.com/IP/?IP=".$ipAddr; 
$contents = file_get_contents($ipChinazAddr); 
$pattern = "http://=/=/>/>.+/<//strong/>/<br ///>/"; 
$string = $contents; 
preg_match_all($pattern,$string,$addrArray); 
$num = count($addrArray[0]); 
$pattern = "/(==>>).+(==>>/s)/"; 
for($i = 0;$i<$num;$i++){ 
$addrArray[0][$i] = preg_replace($pattern,"",$addrArray[0][$i]); 
} 
echo "<pre>"; 
print_r($addrArray); 
echo "</pre>"; 
?> 
</body> 
</html> 
以上是本人寫的兩個獲取IP物理地址的代碼,作為一個初學者,沒事的時候寫寫簡單的代碼也還是一件挺有意思的事。但是畢竟是一個初學者,不能更好的注意安全性、空間利用率、時間效率等問題,還望各位留下你的足跡,小弟謝了
| 
 
 | 
新聞熱點
疑難解答