ホームページ >バックエンド開発 >PHPの問題 >PHPのip2long関数の使い方

PHPのip2long関数の使い方

藏色散人
藏色散人オリジナル
2020-06-30 11:10:382878ブラウズ

php ip2long 関数は、IPV4 文字列インターネット プロトコルを長い整数に変換するために使用されます。その使用構文は「ip2long (string $ip_address): int」で、パラメータ「ip_address」はアドレスを表します標準フォーマット。

PHPのip2long関数の使い方

php ip2long 関数

ip2long — IPV4 文字列インターネット プロトコルを長整数に変換します

説明

ip2long ( string $ip_address ) : int

関数 ip2long() は、標準ネットワーク アドレス形式 (ドット文字列) から変換された、IPV4 ネットワーク アドレスの長整数形式を返します。

ip2long() 还可以与非完整IP进行工作。 阅读 » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm 获得更多信息。

パラメータ

ip_address

標準形式のアドレス。

戻り値

IP アドレスを変換した数値、または ip_address が無効な場合は FALSE を返します。

変更ログ

バージョン

5.5.0 このバージョンより前のバージョンでは、Windows の ip2long() は、値が渡された場合でも有効な数値を返すことがありました。 (IPv4) インターネット プロトコルのドット アドレスではありません。

5.2.10 これより前は、IPv4 標準アドレスではない場合でも、ip2long() は数値アドレスを返すことがありました。

例 #1 ip2long() 例

<?php
$ip = gethostbyname(&#39;www.example.com&#39;);
$out = "The following URLs are equivalent:<br />\n";
$out .= &#39;http://www.example.com/, http://&#39; . $ip . &#39;/, and http://&#39; . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

例 #2 IP アドレスの表示

2 番目の例は、変換の出力を示しています。最後のアドレスは、PHP4 および PHP5 の printf() 関数を使用します。

<?php
$ip   = gethostbyname(&#39;www.example.com&#39;);
$long = ip2long($ip);
if ($long == -1 || $long === FALSE) {
    echo &#39;Invalid IP, please try again&#39;;
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Note

Note:

PHP の整数型は符号付きであり、多くの IP があるため、アドレスは次のようになります。 32 ビット システムの場合は負の値であり、「%u」を使用して、sprintf() または printf() で取得した文字列を署名のない IP アドレスを表すように変換する必要があります。

注:

IP が 255.255.255.255 で、バージョンが PHP 5

さらに関連する知識については、PHP 中国語 Web サイト!

を参照してください。

以上がPHPのip2long関数の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。