IP地址轉換在整型數據然後保存到數據庫中,這是一種常用的做法,我們轉換IP地算法是intIP = 256*256*256*w + 256*256*x + 256*y + z即可,下面來給各位同學介紹具體實例。
【轉換原理】:假設IP為:w.x.y.z,則IP地址轉為整型數字的計算公式為:intIP = 256*256*256*w + 256*256*x + 256*y + z
【PHP的互轉】:PHP的轉換方式比較簡單,它內置了兩個函數
int ip2long ( string $ip_address ) //ip轉換成整型數值
string long2ip ( string $proper_address ) // 整型數值轉換成ip【MySQL的互轉】:相對於MsSQL來說MySQL的轉換方式比較簡單,它和PHP一樣也內置了兩個函數
IP 轉為整型:
select INET_ATON (IP地址)整型數值轉換成IP
select INET_NTOA ( IP的整型數值 )
一個實例
1.手工自己的實現方法
代碼如下 復制代碼
function ip2number($ip)
{
$t = explode('.', $ip);
$x = 0;
for ($i = 0; $i < 4; $i++)
{
$x = $x * 256 + $t[$i];
}
return $x;
}
function number2ip($num)
{
$t = $num;
$a = array();
for ($i = 0; $i < 4; $i++)
{
$x = $t % 256;
if($x < 0) $x += 256;
array_unshift($a, $x);
$t = intval($t / 256);
}
return implode('.', $a);
}