long2ip
(PHP 4, PHP 5, PHP 7, PHP 8)
long2ip — 長整数表現のインターネットアドレスを (IPv4) インターネット標準ドット表記に変換する
パラメータ
ip
-
長整数で表した、正しい形式のアドレス。
戻り値
インターネットの IP アドレスを表す文字列を返します。
注意
注意:
32ビットアーキテクチャでは、IPアドレスの整数表現を string から int にキャストしても
PHP_INT_MAX
を超える数値については正しい結果を得られません。
+add a note
User Contributed Notes 2 notes
Gabriel Malca ¶
18 years ago
If the function doesn't exist:
<?
if (!function_exists("long2ip")) {
function long2ip($long) {
// Valid range: 0.0.0.0 -> 255.255.255.255
if ($long < 0 || $long > 4294967295) return false;
$ip = "";
for ($i=3;$i>=0;$i--) {
$ip .= (int)($long / pow(256,$i));
$long -= (int)($long / pow(256,$i))*pow(256,$i);
if ($i>0) $ip .= ".";
}
return $ip;
}
}
?>
steve at computurn dot com ¶
6 years ago
For a 32bit safe long2ip, which can accept string or signed integer input, try:
function safelong2ip($long) {
$binStr = sprintf("%032s", decbin((float)$long));
if (strlen($binStr) != 32) {
throw new Exception("Invalid IPv4 subnet!");
}
$ipArr = [];
for ($i = 0; $i < 4; ++$i) {
$ipArr[] = bindec(substr($binStr, $i*8, 8));
}
return implode('.', $ipArr);
}
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google