19

ランダムな IP アドレスを生成したいと考えています。

4

7 に答える 7

42

64ビットPHPの場合:

long2ip(rand(0, 4294967295));

サポートされているPHPバージョン(7.4および8.0)で2021年に動作します。

注:現在、ほとんどすべてのマシンがx64であり、32ビットオペレーティングシステムの開発が中止されているため、これが機能しない場合は、x64バージョンのPHPをダウンロードすることをお勧めします。

于 2012-04-22T14:06:26.033 に答える
27

mt_rand関数を確認してください。

あなたはおそらくこれを実行したいと思うでしょう:

<?php
    $randIP = mt_rand(0, 255) . "." . mt_rand(0, 255) . "." . mt_rand(0, 255) . "." . mt_rand(0, 255);
?>
于 2012-04-22T14:07:12.493 に答える
5
$ip = long2ip(mt_rand());

この方法は少し読みやすくなります。

于 2015-01-25T03:53:49.967 に答える
1

次のような場合は、独自のWebサーバーログから有効なIPのプールを取得することもできます。

cat / var / log / apache2 / access_log | cut -d'' -f1 | egrep -v'[az]' | sort | uniq> lotsofip.txt

そしてphpで:

$ips = file('lotsofip.txt');    
echo $ips[array_rand($ips)];
于 2012-04-22T14:07:30.307 に答える
-1
$ip = intval(rand()%255).'.'.intval(rand()%255).'.'.intval(rand()%255).'.'.intval(rand()%255);
于 2014-03-30T10:13:57.300 に答える