php进行ip地址掩码运算处理的方法


Posted in PHP onJuly 11, 2016

本文实例讲述了php进行ip地址掩码运算处理的方法。分享给大家供大家参考,具体如下:

ip解析:

function ip_parse($ip_str) {
 $mark_len = 32;
 if (strpos($ip_str, "/") > 0) {
  list($ip_str, $mark_len) = explode("/", $ip_str);
 }
 $ip = ip2long($ip_str);
 $mark = 0xFFFFFFFF << (32 - $mark_len) & 0xFFFFFFFF;
 $ip_start = $ip & $mark;
 $ip_end = $ip | (~$mark) & 0xFFFFFFFF;
 return array($ip, $mark, $ip_start, $ip_end);
}
//演示:
list($ip, $mark, $ip_start, $ip_end) = ip_parse("192.168.1.12/24");
echo "IP地址 : ", long2ip($ip), "\n";
echo "子网掩码: ", long2ip($mark), "\n";
echo "IP段开始: ", long2ip($ip_start), "\n";
echo "IP段结束: ", long2ip($ip_end), "\n";

结果:

IP地址 : 192.168.1.12
子网掩码: 255.255.255.0
IP段开始: 192.168.1.0
IP段结束: 192.168.1.255

ip是否在ip分段中:

function ip_in($ip, $ip_str) {
 $mark_len = 32;
 if (strpos($ip_str, "/") > 0) {
  list($ip_str, $mark_len) = explode("/", $ip_str);
 }
 $right_len = 32 - $mark_len;
 return ip2long($ip) >> $right_len == ip2long($ip_str) >> $right_len;
}
//演示:
var_dump(ip_in("192.168.1.1", "192.168.1.0/24"));
PHP 相关文章推荐
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
PHP简单实现“相关文章推荐”功能的方法
Jul 19 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
PHP6新特性分析
Mar 03 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
php实现微信模板消息推送
Mar 30 PHP
PHP实现分布式memcache设置web集群session同步的方法
Apr 10 PHP
php微信开发之图片回复功能
Jun 14 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 #PHP
php进程间通讯实例分析
Jul 11 #PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 #PHP
php通过两层过滤获取留言内容的方法
Jul 11 #PHP
php基于openssl的rsa加密解密示例
Jul 11 #PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 #PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 #PHP
You might like
php懒人函数 自动添加数据
2011/06/28 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
浅析php单例模式
2014/11/25 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
javascript获取web应用根目录的方法
2014/02/12 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
vc6编写python扩展的方法分享
2014/01/17 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python中is与==判断的区别
2017/03/28 Python
python针对excel的操作技巧
2018/03/13 Python
python使用tornado实现登录和登出
2018/07/28 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
学前教育求职自荐信范文
2013/12/25 职场文书
岗位廉政承诺书
2014/03/27 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书