2016-07-29 17 views
-3

私は、アドレスをBINARY(16)として格納しているデータベースからIPv4 IPのリストを選択しました。 IPv6形式のアドレスを人間が判読できるIPv4形式に変換する簡単な方法はありますか? これは、IPv4アドレスが8ab8:7f70::IPv6をIPV4に変換するPHP

+0

IPv6アドレスは128ビットである非常に簡単であるものです。 IPv6アドレスをIPv4のドット付き10進表記で表示することはできません。 IPv6には独自の記法があります。 [RFC5952、IPv6アドレステキスト表現のための勧告](https://tools.ietf.org/html/rfc5952)は、IPv6アドレスを表すためのIETF標準です。 –

+1

私は、IPv6の形式で表されたIPv4アドレスを持っています。 8ab8:7f70 :: – pedmillon

+1

そして、4バイトを個別に10進文字列に変換し、連結してそれぞれの間に '.'を置きます。 –

答えて

0

ように見えるロンMaupinのは、説明したように、IPv4アドレスのみが32ビットであるが、溶液は、

$ipv6 = "8ab8:7f70::"; 
$ipv4 = hexdec(substr($ipv6, 0, 2)). "." . hexdec(substr($ipv6, 2, 2)). "." . hexdec(substr($ipv6, 5, 2)). "." . hexdec(substr($ipv6, 7, 2)); 
+1

これは適切な値を返しません。 –

+1

全体の前提はナンセンスなので、このソリューションはナンセンスです。 – deceze

関連する問題