>백엔드 개발 >PHP 문제 >PHP ip2long 기능을 사용하는 방법

PHP ip2long 기능을 사용하는 방법

藏色散人
藏色散人원래의
2020-06-30 11:10:382880검색

php ip2long 함수는 IPV4 문자열 인터넷 프로토콜을 긴 정수로 변환하는 데 사용됩니다. 사용 구문은 "ip2long (string $ip_address): int"이고 매개 변수 "ip_address"는 표준 형식 주소를 나타냅니다.

PHP ip2long 기능을 사용하는 방법

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(&#39;www.example.com&#39;);
$out = "The following URLs are equivalent:<br />\n";
$out .= &#39;http://www.example.com/, http://&#39; . $ip . &#39;/, and http://&#39; . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

예제 #2 IP 주소 표시

두 번째 예는 PHP4 및 PHP5에서 printf() 함수를 사용하여 변환된 주소를 인쇄하는 방법을 보여줍니다.

<?php
$ip   = gethostbyname(&#39;www.example.com&#39;);
$long = ip2long($ip);
if ($long == -1 || $long === FALSE) {
    echo &#39;Invalid IP, please try again&#39;;
} 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.