PHP下十六位數值轉IP地址
PHP函式提供的long2ip和ip2long是IP和整形數值之間的轉換,沒有和十六位數值的轉換,所以寫下這個函式。
function ntoip($iphex)
{
$len=strlen($iphex);//得到16進位制字串的長度
if(strlen($iphex)<8)
{
$iphex='0'.$iphex;//如果長度小於8,在最前面加0
$len=strlen($iphex); //重新得到16進位制字串的長度
}
//這是因為ipton函式得到的16進位制字串,如果第一位為0,在轉換成數字後,是不會顯示的
//所以,如果長度小於8,肯定要把第一位的0加上去
//為什麼一定是第一位的0呢,因為在ipton函式中,後面各段加的'0'都在中間,轉換成數字後,不會消失
for($i=0,$j=0;$j {//迴圈擷取16進位制字串,每次擷取2個長度
$ippart=substr($iphex,$j,2);//得到每段IP所對應的16進位制數
$fipart=substr($ippart,0,1);//擷取16進位制數的第一位
if($fipart=='0')
{//如果第一位為0,說明原數只有1位
$ippart=substr($ippart,1,1);//將0擷取掉
}
$ip[]=hexdec($ippart);//將每段16進位制數轉換成對應的10進位制數,即IP各段的值
}
return implode('.', $ip);//連線各段,返回原IP值
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-1435668/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [轉]在命令列下更改IP地址命令列
- PHP中將ip地址轉成十進位制數的兩種實用方法PHP
- java將IP地址轉換為數字以及逆向轉換Java
- PHP獲取IP地址的方法,防止偽造IP地址注入攻擊PHP
- linux下配置IP地址Linux
- 【Go】IP地址轉換:數字與字串之間高效轉換Go字串
- IP地址從頭說(轉)
- IP地址分段計算 (轉)
- 全國IP地址分配表 (轉)
- 一個把IP地址轉化為長整數的指令碼(轉)指令碼
- Solaris下的hosts和IP地址
- Windows下換網路卡IP地址佔用的解決(轉)Windows
- [轉]從程式號找到IP地址
- IP地址網段求解題(轉)
- 全國IP地址分配表(二) (轉)
- 全國IP地址分配表(四) (轉)
- 全國IP地址分配表(三) (轉)
- 全國IP地址分配表(一) (轉)
- 用JAVA程式取得IP地址(轉)Java
- 【TCP/IP】IP地址分類和特殊IP地址TCP
- 配置HP-UNIX下配置IP地址
- PHP 字串強制轉換為數值問題PHP字串
- IP地址
- ARP協議 地址解析協議:IP地址轉換為MAC地址協議Mac
- VBA轉換IP地址為可比較12位字串(去掉小數點)字串
- MAC 地址與IP地址Mac
- linux下怎樣給網路卡加第二個IP地址(轉)Linux
- php轉換ip函式PHP函式
- Linux下設定靜態IP地址Linux
- PTA 7-18 IP地址轉換(JAVA)Java
- 從 ifconfig 中得到 IP地址(轉)
- 更改solaris IP地址和主機名(轉)
- PHP 底層原始碼下載地址PHP原始碼
- windows下的IP地址解析方式,windows下的/etc/hostsWindows
- 特殊IP地址
- Windows下通過指令碼快速修改IP地址Windows指令碼
- Solaris下修改RAC環境節點IP地址
- Ubuntu系統下配置IP地址方法介紹Ubuntu