2016-06-24 14 views
-5

私は私にこの結果を与える機能を探しています:だけこのIPを(スタートIP - エンドIP)の範囲をIPにIPアドレスを変換

127.0.0.0-127.0.0.255 

127.0.0.1 or 127.0.0.50 ... 

機能を見ていきますlike:

function transform_ip($ip) { 
// Method to transform ip the ip-range 
// Specify Start IP and End IP 
return $result; 
} 
echo transform_ip("127.0.0.66"); // result: 127.0.0.0-127.0.0.255 
+0

を使用するために、この問題は過少である - あなたが探しているものについて詳しく説明してください。 –

+0

申し訳ありませんが、どうやって「127.0.0.50」が出てきますか? – arkascha

+0

私はちょうど私の質問を更新しました、あなたは今見ることができます。 127.0.0.50は単なる例です。 –

答えて

2

最後の期間の後にすべてをトリミングする方法は数多くあります。一つの方法は、今

$a = explode('.',$ip); // $a is each number without the periods 
pop($a); // Pop off the last number 
$ip = implode('.',$a); // Recombine with periods 

...爆発し、最後の項目なしで内破することで、あなたは自分の文字列を返すことができます:あなたが取得したい場合ので

$result = "$ip.0-$ip.255"; 
+0

192.168.0.1のマスクが255.255.255.253の場合はどうなりますか? :) – Robert

+0

彼はマスクを見ていたとは言わなかった。彼は、最後のオクテットを0から255に置き換えたいと述べました。質問の下のコメントを参照してください。 – kainaw

+0

ありがとう、これは問題を解決しました。 –

0

あなたの質問はあまり意味がありません。ネットワーク内のIPの実際の範囲は、IPマスクである第2のパラメータを与える必要があります。あなたはクラスCでIPを持っているときに、IPを持っていて、ブロードキャストアドレスとネットワークアドレスを計算することができますマスク際

は、だから、マスク255.255.255.0とIP 192.168.0.1

を持っています。このparticualr場合、それは次のようになります。

アドレスをブロードキャストされるネットワークアドレスと192.168.0.255は、アドレスプールは192.168.0.1になりますです

ネットワーク192.168.0.0 - 以下のリンクから192.168.0.254例えば

あなたは何をするかの関数を見つけることができ、それ

は、IPする番号と番号のIPアドレスを変換する機能があります。

  • ip2long
  • long2ipに番号を付けるには、ipの文字列を変換したIPv4数値を文字列に変換し

編集:

数学とビット演算を使用して計算用ライブラリを作成しました

composer require rpodwika/network-calculator

https://github.com/rpodwika/network-calculator

関連する問題