這是如何計(jì)算的,目前我知道有兩個(gè)算法。其一復(fù)制代 " /> 国产色青青视频在线观看,国产精品人妻在线观看,日韩亚洲欧美中文高清在线

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

如何將四個(gè)字段以點(diǎn)分開的IP網(wǎng)絡(luò)址協(xié)議地址轉(zhuǎn)換成整數(shù)呢?php里有這么一個(gè)函數(shù)ip2long.比如
復(fù)制代碼 代碼如下:
<?php
echo ip2long("10.2.1.3");
?>

我們將得到
167903491

這是如何計(jì)算的,目前我知道有兩個(gè)算法。其一
復(fù)制代碼 代碼如下:
<?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;
}
?>

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

我們會(huì)發(fā)現(xiàn),有些ip轉(zhuǎn)化成整數(shù)后,是負(fù)的,這是因?yàn)榈玫降慕Y(jié)果是有符號(hào)整型,最大值是2147483647.要把它轉(zhuǎn)化為無符號(hào)的,可以用
sprintf("%u",ip2long($ip);

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

將輸出true和false

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

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

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲区 bt下载 | 欧美6O老妪与小伙交 | 曰本少妇高潮久久久久久 | 熟妇少妇任你躁在线无码 | 含羞草免费完整视频在线观看 | 国产亚洲精品久久久999蜜臀 | 亚洲spank男男实践网站 | 亚欧乱亚欧乱色视频 | 国产午夜精品视频在线播放 | 激情床戏视频片段有叫声 | 欧美xx69 | 国产精品99久久久久久宅男AV | 高hh乱亲女真实 | 欧美亚洲曰韩一本道 | 亚洲男人在线观看 | 成人免费在线视频 | 美女脱内衣裸身尿口露出来 | 女子扒开腿让男生桶爽 | 激情内射亚洲一区二区三区爱妻 | 欧美老少欢杂交另类 | 国外色幼网 | 好男人视频免费高清在线观看www | 亚州精品视频 | 老司机无码精品A | 亚洲精品视频久久 | 成人在线视频在线观看 | 理论片午午伦夜理片久久 | 女侠含泪巨臀迎合79 | 日本国产精品无码一区免费看 | 伊人久久中文字幕久久cm | 99视频免费看 | 日本妈妈xxxx | 国产午夜视频在永久在线观看 | 饥渴的40岁熟妇完整版在线 | 三级黄视频 | 欧美日韩看看2015永久免费 | 在线不卡日本v二区 | 中文字幕在线不卡日本v二区 | 久久黄色精品视频 | 被cao的奶水直喷高H | 青草影院天堂男人久久 |