라이브러리
[PHP] inet_pton - 사람이 읽을 수 있는 IP 주소를 압축된 in_addr 표현으로 변환합니다.
인터넷 주소(IP) 변환 함수: inet_pton
PHP의 `inet_pton` 함수는 인터넷 주소(IP)를 32비트 또는 128비트 주소로 변환하는 함수입니다. 이 함수는 IPv4와 IPv6 주소를 모두 지원합니다.
IPv4 주소 변환
IPv4 주소는 32비트 주소로 표현되며, 점(.)으로 구분됩니다. 예를 들어, `192.168.1.1`은 32비트 주소로 다음과 같이 표현됩니다.
#hostingforum.kr
php
$ipv4 = "192.168.1.1";
$ipv4_pton = inet_pton($ipv4);
echo bin2hex($ipv4_pton) . "
";
이 코드는 `192.168.1.1`을 32비트 주소로 변환하고, 이 주소를 16진수로 출력합니다.
IPv6 주소 변환
IPv6 주소는 128비트 주소로 표현되며, 콜론(:)으로 구분됩니다. 예를 들어, `2001:0db8:85a3:0000:0000:8a2e:0370:7334`은 128비트 주소로 다음과 같이 표현됩니다.
#hostingforum.kr
php
$ipv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
$ipv6_pton = inet_pton($ipv6);
echo bin2hex($ipv6_pton) . "
";
이 코드는 `2001:0db8:85a3:0000:0000:8a2e:0370:7334`을 128비트 주소로 변환하고, 이 주소를 16진수로 출력합니다.
주소 변환 결과
`inet_pton` 함수는 변환된 주소를 바이너리 형태로 반환합니다. 이 바이너리 데이터를 16진수로 변환하려면 `bin2hex` 함수를 사용할 수 있습니다.
주소 비교
`inet_pton` 함수는 주소 변환 외에도 주소 비교를 위한 기능을 제공합니다. 예를 들어, 두 주소를 비교하려면 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$ipv4_1 = "192.168.1.1";
$ipv4_2 = "192.168.1.1";
$ipv4_1_pton = inet_pton($ipv4_1);
$ipv4_2_pton = inet_pton($ipv4_2);
if ($ipv4_1_pton === $ipv4_2_pton) {
echo "두 주소는 동일합니다.
";
} else {
echo "두 주소는 다릅니다.
";
}
이 코드는 두 주소를 비교하고, 동일한 주소인지 여부를 출력합니다.
결론
`inet_pton` 함수는 인터넷 주소(IP)를 32비트 또는 128비트 주소로 변환하는 함수입니다. 이 함수는 IPv4와 IPv6 주소를 모두 지원하며, 주소 변환 외에도 주소 비교를 위한 기능을 제공합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.