웹 개발에서 URL은 데이터 전송 및 페이지 리디렉션에 중요한 캐리어입니다. PHP는 URL을 구문 분석하고 구성 요소를 추출하기위한 내장 기능 Parse_url ()을 제공합니다. 이는 사용자 요청, 리디렉션, 링크 분석 및 기타 시나리오를 처리하는 데 매우 유용합니다.
특히 포트 번호가 포함 된 완전한 URL을 처리 할 때 Parse_url ()은 여전히 포트 부분을 올바르게 인식하고 반환합니다. 이 기사는 예제를 사용하여 parse_url ()을 사용하여 포트 번호가 포함 된 URL 정보를 추출하는 방법을 설명합니다.
parse_url () 는 다음과 같이 구문이있는 PHP 내장 기능입니다.
parse_url(string $url, int $component = -1): mixed
$ URL : 완전한 URL 문자열을 구문 분석합니다.
$ 구성 요소 (선택 사항) : URL의 일부만 리턴을 지정합니다. 예를 들어, php_url_port를 사용하면 포트 번호 만 반환합니다.
반환 결과는 일반적으로 다음 키를 포함하는 연관 배열입니다 (URL의 실제 내용에 따라 다를 수 있음).
체계 : HTTP 또는 HTTPS 와 같은
호스트 : 도메인 이름
포트 : 포트 번호
사용자 및 패스 : 인증 정보
경로 : 경로
쿼리 : 쿼리 문자열
조각 : 조각 식별자
실질적인 예를 살펴 보겠습니다.
<?php
$url = "https://gitbox.net:8080/user/profile?id=42#section1";
$parts = parse_url($url);
echo "<pre>";
print_r($parts);
echo "</pre>";
?>
출력 결과는 다음과 같습니다.
Array
(
[scheme] => https
[host] => gitbox.net
[port] => 8080
[path] => /user/profile
[query] => id=42
[fragment] => section1
)
보시 다시피 Parse_url ()는 gitbox.net을 호스트 이름으로, 8080을 포트 번호로 성공적으로 식별하고 경로, 쿼리 매개 변수 및 앵커 포인트와 같은 다른 부분을 정확하게 추출했습니다.
때때로 우리는 URL의 일부만 필요합니다. 예를 들어 포트 번호 만 추출됩니다.
<?php
$url = "http://gitbox.net:3000/dashboard";
$port = parse_url($url, PHP_URL_PORT);
echo "포트 번호는입니다: " . $port;
?>
산출:
포트 번호는입니다: 3000
이 방법은 전체 배열을 구문 분석 한 후 수동으로 필드를 얻는 것보다 더 간결하고 효율적입니다.
URL 리디렉션 판단 : 포트를 기반으로 점프 정책을 선택하십시오.
API 라우팅 분석 : 서비스 배포는 다른 포트에 대해 수행됩니다.
로그 분석 : 레코드의 URL을 구문 분석하여 포트 소스를 얻습니다.
URL에 지정된 포트가 없으면 parse_url ()에 의해 반환 된 배열 에는 포트 키가 포함되어 있지 않습니다.
parse_url ()은 URL의 정당성을 확인하지 않으며 형식별로 만 분할됩니다.
URL이 올바르지 않은 경우 (예 : 프로토콜 헤더가 포함되어 있지 않음), 구문 분석 실패 또는 불완전한 결과가 발생할 수 있습니다.
parse_url () 는 특히 포트 번호가 포함 된 전체 URL을 처리 할 때 매우 실용적인 기능입니다. 이를 통해 개발자는 URL을 쉽게 분해하고 다양한 시나리오에 유연하게 적용 할 수 있습니다. 코드의 명확성과 유지 가능성을 향상시키기 위해 URL 관련 논리를 작성할 때이 기능을 최대한 활용하는 것이 좋습니다.