php ip2long 함수는 IPV4 문자열 인터넷 프로토콜을 긴 정수로 변환하는 데 사용됩니다. 사용 구문은 "ip2long (string $ip_address): int"이고 매개 변수 "ip_address"는 표준 형식 주소를 나타냅니다.
php ip2long 함수
ip2long — IPV4 문자열 인터넷 프로토콜을 긴 정수로 변환
설명
ip2long ( string $ip_address ) : int
함수 ip2long() 표준 네트워크에서 IPV4 네트워크 주소의 긴 정수 형식을 반환합니다. 주소 형식(도트 스트링)이 변환됩니다.
ip2long() 还可以与非完整IP进行工作。 阅读 » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm 获得更多信息。
매개변수
ip_address
표준 형식의 주소입니다.
반환 값
IP 주소의 변환된 숫자를 반환하거나 ip_address가 잘못된 경우 FALSE를 반환합니다.
변경 로그
버전
5.5.0 이 버전 이전에는 Windows에서 ip2long()이 (IPv4) 인터넷 프로토콜 점으로 구분된 주소가 아닌 값을 전달하더라도 때때로 유효한 숫자를 반환했습니다.
5.2. 10 이 버전 이전에는 IPv4 표준 주소가 아닌 경우에도 ip2long()이 숫자 주소를 반환하는 경우가 있었습니다.
예제
예제 #1 ip2long() 예
<?php $ip = gethostbyname('www.example.com'); $out = "The following URLs are equivalent:<br />\n"; $out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n"; echo $out; ?>
예제 #2 IP 주소 표시
두 번째 예는 PHP4 및 PHP5에서 printf() 함수를 사용하여 변환된 주소를 인쇄하는 방법을 보여줍니다.
<?php $ip = gethostbyname('www.example.com'); $long = ip2long($ip); if ($long == -1 || $long === FALSE) { echo 'Invalid IP, please try again'; } else { echo $ip . "\n"; // 192.0.34.166 echo $long . "\n"; // -1073732954 printf("%u\n", ip2long($ip)); // 3221234342 } ?>
댓글
참고 :
PHP의 정수형은 signed형이고 32비트 시스템의 경우 음수가 나오는 IP 주소가 많기 때문에 sprintf()나 printf()를 통해 변환하려면 "%u"를 사용해야 합니다. 문자열은 서명되지 않은 IP 주소를 나타냅니다.
참고:
ip2long()은 IP가 255.255.255.255이고 버전이 PHP 5 <= 5.0.2인 경우 FALSE를 반환합니다. 수정 후 PHP 5.0.3은 -1(PHP4와 동일)을 반환합니다.
더 많은 관련 지식을 알고 싶으시다면 PHP 중국어 홈페이지를 방문해주세요!
위 내용은 PHP ip2long 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!