這是如何計算的,目前我知道有兩個算法。其一復制代 " /> 国产亚洲欧洲国产综合一区,亚洲欧美日韩在线观看播放,www.一级片

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php IP轉換整形(ip2long)的詳解

如何將四個字段以點分開的IP網絡址協議地址轉換成整數呢?php里有這么一個函數ip2long.比如
復制代碼 代碼如下:
<?php
echo ip2long("10.2.1.3");
?>

我們將得到
167903491

這是如何計算的,目前我知道有兩個算法。其一
復制代碼 代碼如下:
<?php
function ip2int($ip){
   //我們先把ip分為四段,$ip1,$ip2,$ip3,$ip4
   list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);
   //然后第一段乘以256的三次方,第二段乘以256的平方,第三段乘以256
   //這即是我們得到的值
    return$ip1*pow(256,3)+$ip2*pow(256,2)+$ip3*256+$ip4;
}
?>

其二,用位運算
復制代碼 代碼如下:
<?php
function ip2int($ip){
   list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);
    return($ip1<<24)|($ip2<<16)|($ip3<<8)|($ip4);
}
?>

我們會發現,有些ip轉化成整數后,是負的,這是因為得到的結果是有符號整型,最大值是2147483647.要把它轉化為無符號的,可以用
sprintf("%u",ip2long($ip);

就能轉換為正整數。而且得到的結果用long2ip也可以正常轉換回原來的ip地址。也可以用ip2long來驗證一個ip是否是有效的,如
復制代碼 代碼如下:
<?php
function chk_ip($ip){
   if(ip2long($ip)=="-1") {
      return false;
    }
    returntrue;
}
//應用
var_export(chk_ip("10.111.149.42"));
var_export(chk_ip("10.111.256.42"));
?>

將輸出true和false

把ip數據保存在數據庫(MySQL)中時候,我們習慣用ip2long函數生成整型,然后存放在一個int(11)類型的字段中,但是,在不同的系統平臺上,ip2long函數得到的值是不同的,因此可能造成在從數據庫中讀出數據,用long2ip得到ip的時候產生錯誤,說一下我們碰到的情況:
我們用一個int(11)類型(范圍-2147483648 -2147483647)來保存把一個ip地址用ip2long處理得到的結果,例如ip是'202.105.77.179′,那么在32位機器上得到的結果是:-899068493,而在64位機器上卻得到3395898803.然后把它寫入數據庫,由于超過int(11)的范圍,因此64位機器上的結果被保存為int(11)的最大值:2147483647.于是在從數據庫中取出的時候,便得到了錯誤的結果,會得到”127.255.255.255″這個ip地址.
解決的辦法很多,比如可以用mysql的函數:INET_ATON和INET_NTOA來處理ip地址;或者把保存ip地址的字段改為bigint類型,這樣在64位機器上雖然保存的是3395898803,使用long2ip函數仍能得到正確的結果.

php技術php IP轉換整形(ip2long)的詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久亚洲国产成人亚 | 欧美色视频网 | 悠悠色影院 | 欧美成人亚洲欧美成人 | 麻豆国内精品久久久久久 | 555夜色666夜色精品站 | 2021久久精品99精品久久 | 成人免费大片黄在线观看com | 91久久综合 | www.999精品视频观看免费 | 91久久精品国产免费一区 | 午夜视频在线免费观看 | 色综合久久加勒比高清88 | www.欧美色| 亚洲小说图片区 | 国产精自产拍久久久久久 | 久久激情五月 | 午夜国产高清精品一区免费 | 日产毛片 | 亚洲图色网站 | 欧美极品美軳人人体 | 亚洲成a人v天堂网 | 精品国产品香蕉在线观看75 | 国产在线精品一区二区三区 | 精品无人区一区二区三区 | 国产成人综合日韩精品婷婷九月 | 色天天躁夜夜躁天干天干 | 久久精品国产99精品最新 | 五月婷丁香 | 亚洲伊人精品综合在合线 | 一级做α爱过程免费视频 | 国产精品视频在这里有精品 | 亚洲国产精品久久久天堂麻豆 | 99精品视频在线这里只有 | 美女让男人插 | 天天澡天天摸天天爽免费 | 久久香蕉综合精品国产 | 免费精品美女久久久久久久久久 | 亚洲国产成人久久笫一页 | 伊人干综合网 | 日本伊人色综合网站 |