PHP IP地址和十进制数字互转
IPV4 可以看做4个256进制的数字, 可以按常规的进制转换换算成十进制.
如 192.168.1.1 换算成10进制:
192*256*256*256 + 168*256*256+1*256+1
其实计算机更擅长移位和与或运算. 可以改进算法如下.
IP 转长整型
public ipToInt($sIP)
{
$aIP = explode('.',$sIP);
$iIP = ($aIP[0] << 24) | ($aIP[1] << 16) | ($aIP[2] << 8) | $aIP[3]
if($iIP < 0) $iIP += 4294967296;
return $iIP;
}
整型转 IP:
function intToIP($iIP)
{
$xor = array(0x000000ff,0x0000ff00,0x00ff0000,0xff000000);
for($i=0; $i<4; $i++)
{
${s.$i} = ($iIP & $xor[$i]) >> $i*8;
if (${s.$i} < 0) ${s.$i} += 256;
}
return $s3.'.'.$s2.'.'.$s1.'.'.$s0;
}
相关文档:
一个公司简单的面试题:
1. 简答题
(1)一些相关LINUX方面的指令操作eg: mkdir 创建目录 touch 创建文件夹以及修改权限chmod之类等等
(2)简述不同版本的PHP有什么区别,试举例简述.
(3),简述接口技术的好处,试举例简述.
(4)如何使用下面的类,并解释下面什么意思?
class test{
function ......
PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。
那么,是否可以在PHP脚本中调用外部命令呢?如果能,如何去做呢?有些什么方面的顾虑呢?相信你看了本 ......
以前分析xdebug用的是(wincachegrind)http://sourceforge.net/projects/wincachegrind/
现在直接安装webgrind来调试速度会更好
http://xdebug.org/
下载地址:
Source:
xdebug 2.0.3
Windows modules:
PHP 5.1.2-5.1.7
PHP 5.2.1-5.2.6
PHP 5.3.0dev
windows
编辑php.ini,先注释掉zend:
[Zend]
;zend ......
在windows下安装image magic 的php扩展 imagick, 首先需要下载php_imagick.dll文件.这个dll文件非常关键.
如果下载了错误的php_imagick.dll.安装就会失败.我就是下载了N个这样的dll文件都未能安装成功.最后终于给我找到正确的dll文件了
下载地址:http://valokuva.org/outside-blog-content/imagick-windows-builds ......