当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

记录一些函数用法

发表于: 2012-11-22   作者:.Aky.   来源:转载   浏览:
摘要: 高手们照旧忽略。 想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧) 当然用到了ip2long()函数把字符串转为整型数
高手们照旧忽略。
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧)

当然用到了ip2long()函数把字符串转为整型数据,但这函数会有出现负值的情况

sprintf("%u",ip2long($ip); 

这样就能解决了负值问题,而且用long2ip也能还原成IP地址。

偷懒,没去研究怎么实现。那就记录下实现的代码吧。
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; 
} 


第二种是位运算
function ip2int($ip){ 
   list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip); 
   return ($ip1<<24)|($ip2<<16)|($ip3<<8)|($ip4); 
} 

记录一些函数用法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
2015-11-26 今天实现地图功能的时候,地图层级和点聚合时的精度用线性关系并不是很好用,在该聚合的
Listagg select * from emp select LISTAGG(ename,'-') within group (order by deptno desc) from
#include "stdafx.h" #include <map> #include <string> #include <iostream> us
背景 前段时间做了个项目,主要优化一个产品页面。整个优化过程中,针对velocity的分析过程占了比较
背景 前段时间做了个项目,主要优化一个产品页面。整个优化过程中,针对velocity的分析过程占了比较
背景 前段时间做了个项目,主要优化一个产品页面。整个优化过程中,针对velocity的分析过程占了比较
背景 前段时间做了个项目,主要优化一个产品页面。整个优化过程中,针对velocity的分析过程占了比较
背景 前段时间做了个项目,主要优化一个产品页面。整个优化过程中,针对velocity的分析过程占了比较
今天看WWDC的232_hd_advanced_user_interfaces_with_collection_views,里面花了一般的时间来讲如何
背景 前段时间做了个项目,主要优化一个产品页面。整个优化过程中,针对velocity的分析过程占了比较
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号