PHP를 배우는 분들이라면 $_SERVER가 헤더, 경로, 스크립트 위치 등의 정보를 담고 있는 서버라는 사실을 모두 아셔야 합니다. 분명히, PHP는 주로 $_SERVER 시스템 변수를 사용하여 현재 페이지의 전체 URL 주소를 얻습니다.
아래에서는 구체적인 예를 통해 PHP에서 전체 URL을 얻는 구현 방법을 소개합니다.
먼저 $_SERVER를 직접 인쇄합니다. 코드 예제는 다음과 같습니다.
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump($_SERVER);
출력 결과, 일부 스크린샷은 다음과 같습니다.
#🎜 🎜##🎜 🎜#$_SERVER의 출력 결과는 그림과 같으며 41개의 요소를 포함하는 배열입니다.
그럼 현재 전체 URL을 어떻게 얻을 수 있나요? 즉, 현재 페이지가 HTTP인지 HTTPS인지 어떻게 판단하고, 도메인 이름과 경로를 어떻게 얻어오는 걸까요?
해결 코드는 다음과 같습니다.
<?php $uri = $_SERVER['REQUEST_URI']; echo $uri;//输出:URI echo "<br>"; $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://": "http://"; $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url;//输出完整的url
여기서 $uri는 파일의 경로 주소, 즉 REQUEST_URI 아래첨자. 그런 다음 위의 방법을 사용하여 현재 URL 헤더가 HTTP 또는 https로 시작하는지 확인합니다. 마지막으로 헤더 전송 프로토콜, 도메인 이름 및 파일 주소 경로를 포함하여 전체 URL의 세 부분을 연결할 수 있습니다.
결과는 아래와 같습니다.
그림과 같이 성공적으로 완성품을 획득했습니다. 현재 페이지의 URL 주소입니다.
Note:
'REQUEST_URI', URI는 액세스할 페이지를 지정하는 데 사용됩니다.
'HTTPS'은 스크립트가 HTTPS 프로토콜을 통해 액세스되는 경우 비어 있지 않은 값으로 설정됩니다.
'SERVER_PORT',웹 서버에서 사용하는 포트입니다. 기본값은 "80"입니다. SSL 보안 연결을 사용하는 경우 이 값은 사용자가 설정한 HTTP 포트입니다. ($_SERVER['SERVER_PORT']가 443이면 해당 URL에 직접 접근할 수 있다는 뜻이고, 8443이면 접속하려면 포트번호를 가져와야 한다는 뜻이다.) #🎜🎜 #'HTTP_HOST'#🎜🎜 #, 현재 요청 헤더에 Host: 항목의 내용(존재하는 경우).
이 글은 PHP에서 현재 전체 URL 주소를 얻는 방법에 대한 소개입니다. 또한 매우 간단하고 이해하기 쉬우므로 필요한 친구들에게 도움이 되길 바랍니다#🎜🎜 #
위 내용은 PHP에서 현재 전체 URL 주소를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!