php手動實現ip2long和long2ip
/** * 測試
*/public
function
testipaction()
/*** 自己實現ip2long
* @param $ip
* @return float|int|string
*/protected
function myip2long($ip
)
//將十進位制轉化為十六進製制
$hex = dechex($value
);
//每個ip最大是255,十六進製制是ff,最大是兩位
// 比如ip:1.1.1.1如果不補0,則十六進製制是1111,十進位制是4369
// 如果補0,則十六進製制是01010101,十進位制是16843009
if (strlen($hex) < 2)
$newhex .= $hex
; }
//十六進製制轉化為十進位制
$intstr = hexdec($newhex
);
return
$intstr
; }
/*** 自己實現long2ip
* @param $int
* @return string
*/protected
function mylong2ip($int
)
//每兩位進行分組。然後檢視每組的第一位是否是0,如果是則去掉。然後把得到的值轉為十進位制,放在陣列中,最後把陣列用.連線起來
for ($i =0; $i
<8;$i+=2)
$aparr = hexdec($a
); }
return
implode('.', $aparr
); }
PHP實現IP 數字互相轉換
將ip轉換為數字 function ipton ip ipstr iphex 將四段ip的16進製制數連線起來,得到乙個16進製制字串,長度為8 return hexdec ipstr 將16進製制字串轉換成10進製,得到ip的數字表示 將數字轉換為ip,進行上面函式的逆向過程 function n...
通過PHP實現獲取訪問使用者IP
在php中自帶了乙個非常的簡單的獲取ip位址的全域性變數,很多初學都獲取ip都使用它了,但是對於這些我們一般用法是滿足了,但是對於要求高精度這個函式還是不行的。這個是最簡單的方法,對於開了透明 之類的是沒有辦法的,如果內網訪問也不能讀取正確的外網ip,不過很省力就是了 ip server remot...
IP白名單的實現(PHP)
有些專案可能會用到乙個ip位址的白名單黑名單之類的驗證。比如,只有ip位址在白名單中,才可以訪問該系統。那麼此時,白名單的維護,一般是乙個檔案,裡邊是一些ip位址 每行乙個ip 當然也有的可能是用資料庫記錄白名單。當然,即使放在資料庫中記錄 方便管理 也可以在後台根據資料庫生成ip白名單的配置檔案,...