• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> PHP 开发 >> PHP精通 >> 详细内容
 

推荐文章

  • PHP 程序加速探索
  • 用封装类来合理的设计PHP项目--谈PHP项目中类的封装
 
 

热点文章

  • 30分钟学会用PHP写带数据库的简单通讯录
  • 最强的PHP字符串截取函数
  • 结合AJAX进行PHP开发之入门
  • 汉字编码问题
  • 中文字符集与字符编码的基础知识
  • PHP向脚本提交POST数据
  • PHP实现验证码一法
  • php模板smarty
  • php如何隐藏图片的真实地址
  • PHP 程序加速探索
  • php防盗链的方法
  • 在 Zend Framework 中使用 Jquery 的 ajax 功能
 
 

相关文章

  • PHP解决ajax中文乱码resopnseText中文乱码xmlhttp中文..
  • 10 件(也许)你不了解 PHP 的事情
  • PHP中正则表达式字符编码表示
  • PHP实现对文本数据库的五大基本操作的方法
  • PHP5.0对象模型探索之抽象方法和抽象类
  • 一个php官方中文手册的hexdec翻译错误
  • PHP模拟多线程方法总结
  • PHP针对配置文件操作的最常用四个ini函数
  • php中几个文件读取函数的贴心功能
  • PHP 5.0对象模型深度探索之类的静态成员
  • PHP 5.0对象模型深度探索之对象复制
  • Apache,PHP在Windows9x/NT下的安装与配置
 
 

百度搜索

 
 

PHP:IP转换整形(ip2long)

  • 阅览次数:
  • 文章来源: http://blog.csdn.net/wztgq/archive/2005/06/28/406662.aspx
  • 原文作者:
  • 整理日期: 2008-09-04
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如 
<?php 
echo ip2long("10.2.1.3"); 
?> 
我们将得到 
167903491 

这是如何计算的,目前我知道有两个算法。其一 
<?php 
function ip2int($ip){ 
   //我们先把ip分为四段,$ip1,$ip2,$ip3,$ip4 
   list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip); 
   //然后第一段乘以256的三次方,第二段乘以256的平方,第三段乘以256 
   //这即是我们得到的值 
   return $ip1*pow(256,3)+$ip2*pow(256,2)+$ip3*256+$ip4; 
} 
?> 

其二,用位运算 
<?php 
function ip2int($ip){ 
   list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip); 
   return ($ip1<<24)|($ip2<<16)|($ip3<<8)|($ip4); 
} 
?> 

我们会发现,有些ip转化成整数后,是负的,这是因为得到的结果是有符号整型,最大值是2147483647.要把它转化为无符号的,可以用 
sprintf("%u",ip2long($ip); 

就能转换为正整数。而且得到的结果用long2ip也可以正常转换回原来的ip地址。也可以用ip2long来验证一个ip是否是有效的,如 
<?php 
function chk_ip($ip){ 
   if(ip2long($ip)=="-1") { 
      return false; 
   } 
   return true; 
} 
//应用 
var_export(chk_ip("10.111.149.42")); 
var_export(chk_ip("10.111.256.42")); 
?> 
将输出true和false

上一篇:SQLite语法 PRAGMA
下一篇:CSS技巧 类目之间的横竖线
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号