1
yangqi 2016-07-02 00:05:08 +08:00 2
for($i=0; $i <= 4294967295; $i++) {
print long2ip($i); } |
2
lslqtz OP 已感谢,真-优雅
|
3
pubby 2016-07-02 00:14:54 +08:00 via Android 1
$ip:0~2^32-1 long2ip($ip)
|
5
lslqtz OP @yangqi
0.0.0.0 0.0.0.1 0.0.0.2 0.0.0.3 0.0.0.4 0.0.0.5 0.0.0.6 0.0.0.7 0.0.0.8 0.0.0.9 0.0.0.10 0.0.0.11 我试着执行了。。 |
6
aprikyblue 2016-07-02 00:18:34 +08:00 via Android
for($i=0; $i <= 255; $i++) {
for($j=0; $j <= 255; $j++) { for($k=0; $k <= 255; $k++) { for($l=0; $l <= 255; $l++) { print sprintf("%d.%d.%d.%d", $i, $j, $k, $l); } } } } |
7
yangqi 2016-07-02 00:19:40 +08:00 1
0.0.0.0 - 0.255.255.255 是保留地址,你不是要包括保留地址么
|
8
lslqtz OP @aprikyblue 好评,本来我也想用 for ,但我感觉自己写没思路,写出来估计全会是连着的。。
|
12
vibbow 2016-07-02 08:49:54 +08:00
友情提示, 1 楼的代码需要 真-64 位 PHP 执行
|
14
notgod 2016-07-02 10:33:07 +08:00 1
for($n1=0; $n1 < 256; $n1++) {
for($n2=0; $n2 < 256; $n2++) { for($n3=0; $n3 < 256; $n3++) { for($n4=0; $n4 < 256; $n4++) { echo $n1 . "." . $n2 . "." . $n3 . "." . $n4 . "\n"; } } } } |
15
shyling 2016-07-02 10:47:54 +08:00 via iPad
4 层 for
0..2**32 再转成 ip 的格式 |
17
muziyue 2016-07-02 15:19:19 +08:00
不就是加强版的 99 乘法表么
|
19
jhdxr 2016-07-02 21:11:57 +08:00
@lslqtz win 下又不是没有 64 位的 php http://windows.php.net/download/ 里不是就有么,你也可以自己编译一份,这黑的真是莫名其妙
|
21
realpg 2016-07-02 23:03:02 +08:00
|
22
qhxin 2016-07-02 23:48:15 +08:00
补充
echo (($i >> 24) & 0xff) . '.' .(($i >> 16) & 0xff) . '.' . (($i >> 8) & 0xff) . '.' . ($i & 0xff) . "\n"; |
23
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) 没有看出你所指的问题? |
24
realpg 2016-07-03 10:34:31 +08:00 1
|