LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 908|回复: 0

请教 ntoh 系列的一个简单实现 [PHP]

[复制链接]
发表于 2006-3-25 10:15:10 | 显示全部楼层 |阅读模式
首先声明,本人初次使用PHP做项目,还有很多不明白处向各位请教。

就是查询数据库时有一个存IP地址的字段在库中是以 Network Endian 方式存的,显示时以 long2ip() 转换就好了,但 long2ip 之前必须先有 ntohl 转换才行,但 PHP 中似乎没有这个函数,所以我用 pack 和 unpack 自定义了一个,相应的还有 port 也是 Network Endian 存储的。

[PHP]function ntohl($n)
{
  $arr = unpack('I', pack('N', $n));
  return $arr[1];
}

function ntohs($n)
{
  $arr = unpack('S', pack('n', $n));
  return $arr[1];
}
[/PHP]

看起来就不够简洁,但这个应该是属于 common task 之一,不知各位有没有更简洁的实现方式?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表