当前位置: 首页 > news >正文

wordpress地址和找点地址/上海做网站优化

wordpress地址和找点地址,上海做网站优化,做网站什么主题好做,梵克雅宝官网编号查询ip2long 和 long2ip的使用和原生php实现方式 1、前言 IP转换成整型存储是数据库优化一大趋势,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据。本文所指的IP是ip4,ip6暂不再讨论范围 2、…

ip2long 和 long2ip的使用和原生php实现方式

1、前言

IP转换成整型存储是数据库优化一大趋势,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据。本文所指的IP是ip4,ip6暂不再讨论范围

2、ip4转化为整形

这里将介绍:

  • php自带函数 ip2long  
  • php原生模拟ip2long的过程

2.1、ip2long

判断一个 ip4 地址是不是合法的 ip,符合则返回一个长整型,不符合返回 false

以下是测试:

然而当 ip4 值较大时,ip2long转化会出现负数的情况

2.2、php原生模拟ip2long的过程

php自带的ip2long虽然好用,由于返回值是int,所以会造成数据溢出,比如有些ip地址转换后变成负数,为了好看,还是需要自己模拟一个ip2long的过程,不多说,先上代码

function ipToInt($ip) {$newHex = '';$aIp = explode('.', $ip); //将ip分割成数组foreach ($aIp as $key => $value) {//十进制最大值是255,超过是不合法的ip,直接返回if($value > 255){return '';}$hex = dechex($value);//将十进制转为十六进制//每个ip段的值最大为255,十六进制为FF,故最长是两位,//例IP = 1.1.1.1 如果不补0,则十六进制为 1111,十进制为 4369//补0为 十六进制为 01010101,十进制为 16843009if(strlen($hex) < 2) {$hex = '0'.$hex;   //如果十六进制长度小于2,则自动补0
        }$newHex .= $hex;    }$int = hexdec($newHex);//十六进制转为十进制return $int;
}

以下是测试:

3、将整形转化为ip

这里将介绍:

  • php自带函数 long2ip
  • php原生模拟long2ip的过程
3.1、long2ip

long2ip 只会返回0.0.0.0 到255.255.255.255的内容,

传人空值默认返回0.0.0.0,超出最大值返回255.255.255.255

以下为测试:

long2ip可以识别由ip2long转化产生的负数(可喜可贺);所有在使用过程中,ip2long和long2ip一起使用就不会有什么问题,当然也要介绍一下如何用原生的模拟long2ip的过程

3.2、php原生模拟long2ip的过程

php自带的long2ip已经可以解决大部分问题,这里也只是简单介绍一下原生的模拟方法,不多说,先上代码

function intToIp($int) {//FFFFFF最大为4294967295$int = $int > 4294967295 ? 4294967295 : $int;$dec = dechex($int); //讲十进制转为十六进制//十六进制默认会忽略最左边的0,毕竟是0了,怎么算都是0,留着也没用//但中间的0会保留,而IP的十六进制最大为FFFFFF(大F团)//所有为防止7位IP的出现,我们只能手动补0,才能成双成对(2个一对)if(strlen($dec) < 8) {$dec = '0'.$dec; //如果长度小于8,最自动补0
    }for($i = 0; $i < 8; $i += 2){$hex = substr($dec, $i, 2);$ippart = substr($hex, 0, 1);//截取十六进制的第一位if($ippart === '0') {$hex = substr($hex, 1, 1);//如果第一位为0,说明原始数值只有1位,还是要拆散
        }$aIp[] = hexdec($hex); //将每段十六进制数转换我为十进制,即每个ip段的值
    }return implode('.',$aIp);
}
以下为测试: 

4.1、ip2long

判断一个 ip4 地址是不是合法的 ip,符合则返回一个长整型,不符合返回 false

详情参考:http://php.net/manual/en/function.ip2long.php

4.2、dechex

十进制转化为十六进制(不用自己写方法,爽)

详情参考:http://www.php.net/manual/zh/function.dechex.php

4.3、hexdec

十六进制转十进制

详情参考:http://php.net/manual/zh/function.hexdec.php

4.4、long2ip

将长整型转化为 ip4 格式的字符串,用于判断一个ip是否合法

详情参考:http://php.net/manual/en/function.long2ip.php

转载于:https://www.cnblogs.com/ImCehnyx/p/7376334.html

http://www.lbrq.cn/news/1341325.html

相关文章:

  • 如何构建电子商务网站/免费发帖推广的平台
  • 住房城乡建设部网站首页/seo整体优化
  • 青岛知名网站建设多少钱/网站流量分析的指标有哪些
  • 免费定制网页/山东济南seo整站优化公司
  • 怎么用lamp做网站/每日财经要闻
  • 个人可以做网站么/种子搜索器
  • 网页设计师简历模板/长沙seo推广
  • 初中生怎样做网站赚钱/新站快速收录
  • 湖南省建设厅建管处/北海seo快速排名
  • windows7PHP网站建设/张北网站seo
  • 虎门外贸网站建设公司/百度如何免费打广告
  • 个人网站域名注册/推广普通话宣传周
  • 专业建站哪家好/南京关键词网站排名
  • 长沙制作网站软件/创建一个网站
  • 同城换物网站为什么做不起来/seo服务公司招聘
  • 俄罗斯b2b网站大全/b站免费版入口
  • 电脑网站开发手机上可以打开吗/中国站长素材网
  • 郑州品牌营销网站建设/网站设计与网页制作
  • 男女做那个的免费视频网站/软件开发外包
  • 网站建设目标分析/百度公司网站推广怎么做
  • 怎么做网页商城/seo和sem推广
  • 外贸网站建设公司排名/重庆网站制作系统
  • 推荐大良网站建设/新app推广去哪里找
  • 网站加载等待/海南百度推广开户
  • 静态网站用什么做/杭州网站
  • 怎么查网站建设是哪家公司/百度seo课程
  • 贵阳疫情爆发时间/谷歌seo优化公司
  • 建站合同/万能搜索引擎
  • 莱芜网站建设资情况介绍/网络营销的三大基础
  • 个人网站开发/广州网络广告推广公司
  • vue如何监听localstorage
  • Android适配最新SplashScreen方案:让启动页不再“翻车“
  • AI_RAG
  • axios 发请求
  • v-model双向绑定指令
  • 汇编语言和高级语言的差异