用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2805|回复: 6
收起左侧

关于 inet_aton() 函数

[复制链接]
发表于 2013-5-30 15:13:59 | 显示全部楼层 |阅读模式
CI里 有没有 类似  inet_aton() 函数?

$this->input->ip_address() 获取IP地址 用 SQL函数 inet_aton() 格式化后 存到数据库~

                                $data = array(
                                        'ip' => inet_aton($this->input->ip_address()),
                                );
                                $this->db->insert('Top.note_posts', $data);

我想 达到 这个效果 该怎么写 或者  CI里有没有 IP地址 格式化的函数?
发表于 2013-5-30 16:39:54 | 显示全部楼层
是要把字符串的 xxx.xxx.xxx.xxx 转成整数形式吧?
用 PHP 自带的函数 ip2long()
具体查一下 PHP 手册。
 楼主| 发表于 2013-5-30 21:41:14 | 显示全部楼层
Hex 发表于 2013-5-30 16:39
是要把字符串的 xxx.xxx.xxx.xxx 转成整数形式吧?
用 PHP 自带的函数 ip2long()
具体查一下 PHP 手册。 ...

知道啦 谢谢 哈~
发表于 2013-5-31 12:15:43 | 显示全部楼层
本帖最后由 dickfu 于 2013-5-31 12:17 编辑

ip2long在32位机器上有bug,128.0.0.0/1 的ip地址会转换不对,因为第一位用来存符号了,实际只支持31位,为了保证正确性这么用吧
PHP复制代码
复制代码
 楼主| 发表于 2013-5-31 13:19:18 | 显示全部楼层
dickfu 发表于 2013-5-31 12:15
ip2long在32位机器上有bug,128.0.0.0/1 的ip地址会转换不对,因为第一位用来存符号了,实际只支持31位,为了保 ...

啊~~谢谢哈~
 楼主| 发表于 2013-6-4 15:31:10 | 显示全部楼层
dickfu 发表于 2013-5-31 12:15
ip2long在32位机器上有bug,128.0.0.0/1 的ip地址会转换不对,因为第一位用来存符号了,实际只支持31位,为了保 ...

那我要 取出来的时候 应该 用什么函数啊?
 楼主| 发表于 2013-6-4 17:37:51 | 显示全部楼层
L.e.e. 发表于 2013-6-4 15:31
那我要 取出来的时候 应该 用什么函数啊?

原来用 long2ip() 可以把整数转IP 呵呵 解决了~

本版积分规则