用 PHP 如何实现输出所有 IP 地址?

2016-07-01 23:56:25 +08:00
 lslqtz
主要是因为是 1.1.1.1 这种形式的,脑子直接抽了。
想输出全部 IP 地址,包括保留地址和内网地址,姿势越优雅(逃)越好~~
3541 次点击
所在节点    PHP
24 条回复
realpg
2016-07-02 23:03:02 +08:00
@jhdxr
你看到#12 特意强调“真” 64 位
因为 windows 的 64 位 php 是伪 64 位
自己测试一下就知道了
qhxin
2016-07-02 23:48:15 +08:00
补充

echo (($i >> 24) & 0xff) . '.' .(($i >> 16) & 0xff) . '.' . (($i >> 8) & 0xff) . '.' . ($i & 0xff) . "\n";
jhdxr
2016-07-03 00:06:44 +08:00
@realpg
C:\>php -v
PHP 7.0.8 (cli) (built: Jun 21 2016 15:15:15) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

C:\>php -i | find /i "Architecture"
Architecture => x64
PROCESSOR_ARCHITECTURE => AMD64
$_SERVER['PROCESSOR_ARCHITECTURE'] => AMD64


test script:
```
$i=4294967295;
echo long2ip($i),"\n";
var_dump($i);

var_dump(PHP_INT_SIZE, PHP_INT_MAX, PHP_INT_MIN);
```
output:
255.255.255.255
int(4294967295)
int(8)
int(9223372036854775807)
int(-9223372036854775808)

没有看出你所指的问题?
realpg
2016-07-03 10:34:31 +08:00
@jhdxr
PHP7 已经修复这个问题
太久不用 windows 没关注这个已经修复
http://blog.zsxsoft.com/post/7

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289726

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX