PHPでのIPアドレス処理
開発では常に ip アドレスを扱いますが、よく使われる 2 つの 関数があります.php は、IP アドレスを処理するための ip2long メソッドと long2ip メソッドを提供します。今日は、PHP での ip 処理メソッドを詳しく学習します。続いて、PHP の ip のアドレス処理方法を見てみましょう。
開発では常に IP アドレスを扱います。PHP では、IP アドレスを処理する ip2long メソッドと long2ip メソッドが一般的に使用されます。
ip2long は、IPV4 stringインターネット プロトコルをデジタル形式に変換します
int ip2long ( string $ip_address ) //参数: ip_address 一个标准格式的地址。 //返回值: 返回IP地址转换后的数字 或 FALSE
long2ip は、デジタル形式を IPV4 文字列インターネット プロトコルに変換します
string long2ip ( string $proper_address ) //参数: proper_address 长整型的正确地址表示。 //返回值: 返回互联网地址作为字符串。
IP アドレスをデータベースに保存するときに ip2long 関数を使用できます。 IP アドレスを文字列からロング型に変更すると、ストレージ領域を節約でき、IP アドレスを取り出すときに、long2ip を使用して IP アドレスを復元できます。変換後、次のように IP アドレスが範囲内にあるかどうかを判断する方が便利です:
$a=ip2long('127.0.0.66'); $b=ip2long('127.0.0.111'); $c=ip2long('127.0.0.10'); if($c>=$a && $c <=$b){ echo '呜啦啦'; }else{ echo '啦啦呜'; }
ただし、注意が必要です。 ! ! 注 注 注
IP を整数型に変換する php の関数 ip2long() は、IP が比較的大きい場合に問題が発生しやすくなります。
なぜですか? 答えはここにあります!
IPv4 は署名なしの 32 ビット アドレスを使用するため、最大でも 2 の 32 乗マイナス 1 (4294967295) 個のアドレスが存在します。 10 進数は小数点以下 4 桁で区切って記述します。
A.B.C.D として覚えてください (例: 192.168.100.100)。
IPv4 アドレスの各 10 進数は、0 から 255 の範囲の符号なしバイトです。IPv4 アドレスを符号なしの数値に変換するということは、実際には、各 10 進数を対応する 8 ビットに配置して、4 バイトの符号なしを形成することを意味します。整数。 192.168.100.100、上位 8 桁が 192,168、下位 8 桁が 100,100。
以下
<?php $ip = "192.168.1.2"; $ip_n = ip2long($ip); echo $ip_n; //输出的是个负数 -1062731518 ?>
IPから変換した整数値が大きすぎて整数の範囲を超えているため、負の数となります。
$ip_n = binding(decbin(ip2long($ip))); のように記述する必要があります。 このようにして、次のように符号なし整数を取得できます
<?php $ip = "192.168.1.2"; $ip_n = bindec(decbin(ip2long($ip))); echo $ip_n; //得到 3232235778 ?>
解決策もあります:
%u を使用して出力をフォーマットします。これは符号なし整数型です。
<?php $ip = '192.168.101.100'; $ip_long = sprintf('%u',ip2long($ip)); echo $ip_long.PHP_EOL; // 3232261476 echo long2ip($ip_long); // 192.168.101.100 ?>
関連する推奨事項:
php IP Get City API (Innocent IP)データベース)
以上がPHPでのIPアドレス処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
