php 判断某个ip是否存在范围内

看到网上很多各式可以ip地址的范围的方法,有用正则的,还有字符串截取的。自己试了很多感觉不怎么靠谱,一是有些不舍很准确,二是太伤性能了,又复杂。然后搜了很多资料,才找到个性能比较好的简单的IP地址范围判断的方法,在这里作个笔记记录一下。

IP地址库的话,纯真的不错:http://www.cz88.net/

也可以使用网上接口来使用,但是有问题。你不能频繁的去用for循环来去访问,不然会被接口屏蔽掉

淘宝IP地址库:http://ip.taobao.com/service/getIpInfo.php?ip=这里填IP地址

好了,其实真正实现判断IP地址范围很简单的,一行代码就搞定了,看如下我写的案例你就懂了:


//案例:判断192.168.1.127是否在 (192.168.1.1--192.168.1.255)的范围里面
 
$ip_start = get_iplong('192.168.1.1'); //起始ip
$ip_end = get_iplong('192.168.1.255');//至ip
$ip = get_iplong('192.168.1.127');//判断的ip
//可以这样简单判断
if($ip>=$ip_start && $ip <=$ip_end){
    echo 'IP在此范围内';
}else{
    echo 'IP不在此范围';
}

/**
 * 将ip地址转换成int型
 * @param $ip  ip地址
 * @return number 返回数值
 */
function get_iplong($ip){
    //bindec(decbin(ip2long('这里填ip地址')));
    //ip2long();的意思是将IP地址转换成整型 ,
    //之所以要decbin和bindec一下是为了防止IP数值过大int型存储不了出现负数。
    return bindec(decbin(ip2long($ip)));
}



本人面试遇到的问题,看了之后豁然开朗.还是要谢谢原作者鸭!!!
借鉴过来分享给可爱的小伙伴们~

来源:CSDN 
原文:https://blog.csdn.net/u010111874/article/details/51744253 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,644评论 2 56
  • 转载:https://blog.csdn.net/moonpure/article/details/5283913...
    SkTj阅读 3,373评论 0 10
  • 一、高可用集群 (一)提升系统高可用性的解决方案:冗余(redundant) 工作模式active/passive...
    哈喽别样阅读 1,746评论 2 5
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,975评论 0 7
  • 昙花梦第六集,抓捕杀人犯刘勇。 程慈航抓捕皮三之后,找到刘勇的蛛丝马迹。第六集看似一个简单的抓捕过程,却出乎意料的...
    乔振宇剧评社阅读 312评论 0 2