站長資訊網
最全最豐富的資訊網站

php ipv6格式怎么轉換

php ipv6格式轉換的方法:首先創建一個PHP示例文件;然后定義一個“$ipv6”;最后通過“gmp_strval(gmp_init($ipv6long,2),10);”將ipv6轉為數字即可。

php ipv6格式怎么轉換

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

php ipv6格式怎么轉換?

PHP中將ip轉為數字(ipv6)

將ivp6的ip地址轉為數字后存入數據庫中

將ipv6轉為數字(正整數):

對于ipv6格式的ip地址,我們無法使用ip2long()函數直接進轉換,只能通過其它方式進行轉換,下面將貼出網友weissner在PHP手冊(http://php.net/manual/zh/function.ip2long.php#94477)留下解決方法,在此之前,需要大家注意的是,需將php.ini文件中,extension=php_gmp.dll之前的注釋符號‘;’去掉,因為代碼中將用到改擴展中的函數。。

將ipv6轉為數字的代碼如下:

$ipv6 = 'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210'; $ip_n = inet_pton($ipv6); $bits = 15; // 16 x 8 bit = 128bit $ipv6long=''; while ($bits >= 0) {         $bin = sprintf("%08b",(ord($ip_n[$bits])));         $ipv6long = $bin.$ipv6long;         $bits--; } echo gmp_strval(gmp_init($ipv6long,2),10); // 結果為:338770000845734292534325025077361652240

如大家所見,ipv6的地址轉為數字之后,有38個數字,數據庫中的bigint也無法存下,所以大家還需要將數據庫中的字段類型轉為char或varchar類型。

另附代碼,判斷ip是ivp4還是ipv6,并將ip轉為數字格式:

$ip = '192.168.101.100'; //$ip = 'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210'; if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {     echo sprintf('%u',ip2long($ip));exit;   } else if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {   $ip_n = inet_pton($ip); $bits = 15; // 16 x 8 bit = 128bit $ipv6long='';     while ($bits >= 0) {         $bin = sprintf("%08b",(ord($ip_n[$bits])));         $ipv6long = $bin.$ipv6long;         $bits--;     }     echo gmp_strval(gmp_init($ipv6long,2),10);exit; }

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
精品久久久久久国产| 国产成人精品一区二区三区无码 | 久久精品视频91| 99久久综合精品五月天| 精品一区二区三区四区| 亚洲麻豆精品国偷自产在线91| 经典国产乱子伦精品视频| 97久久国产露脸精品国产| 国产成人亚洲精品电影| 亚洲国产精品成人久久久| 国产亚洲午夜高清国产拍精品| 国产精品国产三级国产av剧情| 久久久久国产精品熟女影院| 国产精品成人国产乱一区| 国内精品久久久久影视| 亚洲精品视频在线观看视频| 三上悠亚日韩精品| 久久精品国产99久久久香蕉| 国产精品单位女同事在线| 国产99视频精品免费视频76| 午夜精品久久久久久影视777| 亚洲av无码成人精品区一本二本 | 久久久久久久99精品国产片 | 午夜DY888国产精品影院| 国产精品一区二区av不卡| 国产精品无码MV在线观看| 911精品国产亚洲日本美国韩国| 中文精品北条麻妃中文| 国产精品久久久99| 国产精品免费在线播放| 久久精品视频91| 国产偷久久久精品专区| 久久久久夜夜夜精品国产| 国产99久久九九精品无码| 国产精品爽爽ⅴa在线观看| 精品国产毛片一区二区无码| 国产精品日韩AV在线播放| 欧美日韩精品一区二区在线视频| 99久热只有精品视频免费看| 国语自产偷拍精品视频偷蜜芽| 99re久久精品国产首页2020|