주소를 BINARY (16)로 저장하는 데이터베이스에서 IPv4 IP 목록을 선택했습니다. IPv6 형식의 주소를 사람이 읽을 수있는 IPv4 형식으로 변환하는 간단한 방법이 있습니까? 이것은 IPv4 주소가 8ab8:7f70::
IPv6를 IPV4로 변환 PHP
-3
A
답변
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
IPv6 주소는 128 비트이다 매우 간단되는 것이다. IPv4 점으로 구분 된 십진수 표기법으로 IPv6 주소를 표시 할 수 없습니다. IPv6에는 자체 표기법이 있습니다. [RFC 5952, IPv6 주소 텍스트 표현을위한 권장 사항] (https://tools.ietf.org/html/rfc5952)은 IPv6 주소를 나타내는 IETF 표준입니다. –
IPv6 주소로 표시되는 IPv4 주소가 있습니다. 예 : 8ab8 : 7f70 :: – pedmillon
그리고 나서 4 바이트를 개별적으로 10 진수 문자열로 변환하고 각각의 사이에'.'를 붙여 연결하십시오. –