PHP에서 현재 전체 URL 가져 오기
-
http_build_url()
을 사용하여 PHP에서 현재 URL 가져 오기 -
$_SERVER[]
를 사용하여 PHP에서 현재 URL 가져 오기 -
$_SERVER['HTTPS']
를 사용하여 PHP에서 현재 URL 가져 오기 - PHP에서 매개 변수를 포함하는 현재 URL 가져 오기
- 결론
튜토리얼에서는 PHP 프로그래밍 언어로 현재 전체 URL을 얻는 방법을 소개합니다. PHP의 전체 URL을 얻기위한 많은 사용 사례가있을 수 있습니다. 쿼리 매개 변수를 기반으로 웹 페이지의 콘텐츠를 렌더링해야합니다. 페이지 전체를 리디렉션하거나 새로 고쳐야 할 수 있습니다. 따라서 전체 URL은 웹 프로그래밍에있어 필수적인 가치가 될 수 있습니다.
여기서는 PHP 프로그래밍에서 전체 URL을 얻는 다양한 방법에 대해 설명합니다.
일반적으로 현재 실행중인 페이지의 전체 URL을 가져 오기 위해 알아야 할 몇 가지 단계가 있으며, 아래에 나와 있습니다.
- URL을 문자열 형식으로 저장할 PHP 변수를 만들어야합니다.
- 서버에 HTTPS가 활성화되어 있는지 확인해야합니다. 그렇다면 URL 문자열에
HTTPS
를 추가해야합니다. HTTPS가 활성화되지 않은 경우 URL 문자열에HTTP
를 추가해야합니다. - URL에 ‘: //‘기호도 추가해야합니다.
- 서버의 HTTP_HOST 이름을 추가해야합니다. HTTP_HOST 이름은 요청한 호스트입니다.
www.google.com
,www.exampledomain.com
등 - URL 문자열에 REQUEST_URI를 추가해야합니다. REQUEST_URI는 우리가 요청한 리소스입니다.
/index.php
등
이제 PHP 프로그래밍 생태계에서 현재 전체 URL을 얻는 가장 효율적인 방법에 대해 논의합니다.
http_build_url()
을 사용하여 PHP에서 현재 URL 가져 오기
이 솔루션은 매우 간단합니다. http_build_url()
이라는 이름의 PHP 내장 함수를 사용할 수 있습니다. 이 방법은 HTTP와 HTTP 모두에서 작동합니다.
$link = http_build_url();
이 함수는 URL을 작성하는 데 사용됩니다. 4 개의 매개 변수를 모두 허용합니다.
url
:이 매개 변수는 문자열 또는 연관 배열의 형식으로 URL을 나타냅니다. parse_url()와 유사한 값을 반환합니다.parts
:이 매개 변수는 첫 번째 인수와 동일합니다.flags
: 바이너리 HTTP_URL 상수의 비트 마스크입니다.new_url
:이 매개 변수를 설정하면 구성된 URL의parse_url()
부분으로 채워집니다.
전반적으로이 메소드는 성공시 문자열로 새 URL을 반환하고 실패시 False
를 반환합니다.
$_SERVER[]
를 사용하여 PHP에서 현재 URL 가져 오기
또 다른 방법은$_SERVER[]
라는 전역 변수를 사용하는 것입니다. $_SERVER
는 현재 페이지 URL을 가져 오는 데 사용되는 PHP의 기본 제공 변수입니다. 또한 슈퍼 글로벌 변수입니다. 따라서 항상 모든 범위에서 사용할 수 있습니다.
아래 예와 같이 매개 변수REQUEST_URI
를 변수에 전달하기 만하면됩니다.
예:
$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$_SERVER[HTTP_HOST]
는 https://www.delftstack.com/과 같은 호스트 이름 또는 도메인 이름을 나타냅니다.$_SERVER[REQUEST_URI]
represent URI like/dashboard/phpinfo.php
$_SERVER['HTTPS']
를 사용하여 PHP에서 현재 URL 가져 오기
다음은 PHP에서 현재 URL을 가져 오는 또 다른 명시 적 하드 코드 형식입니다.
전역 변수$_SERVER['HTTPS']
는 HTTPS의 상태를 나타냅니다. 따라서isset()
함수 내에서 사용하여 HTTPS가 있는지 여부를 확인할 수 있습니다. 이렇게하면 URL에서 HTTPS가 활성화되었는지 여부를 알 수 있습니다. 한편$_SERVER['HTTPS']
의 값을 확인하여 URL에 https
를 추가할지 여부를 결정할 수 있습니다.
두 예 모두 HTTPS 감지를 보여줍니다. 아래 예는 긴 형식입니다.
$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
또는 아래 예와 같이 짧은 형식을 사용할 수 있습니다.
$link = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
PHP에서 매개 변수를 포함하는 현재 URL 가져 오기
경로, 매개 변수, 쿼리 문자열을 포함한 전체 URL을 가져 오려면 아래 예와 같이 http_build_url()
을 사용할 수 있습니다.
$all_in_address_bar = http_build_url();
결론
이 튜토리얼은 PHP 프로그래밍에서 현재 URL을 얻는 가장 효율적인 방법을 보여주었습니다. 예제는 사용 된 형식, 메커니즘 및 구문을 이해하는 데 확실히 도움이 될 것입니다. 현재 URL을 가져 오는 데 가장 많이 사용되는 기술은 수퍼 글로벌 변수 $_SERVER
를 사용하는 것입니다. 이를 사용하여 구문 형식을 완전히 제어 할 수 있습니다. 그러나이 기술은 다른 기술에 비해 약간 복잡합니다. 이제 PHP 프로그래밍 시나리오에 따라 현재 URL을 얻는 방법이 가장 적합한 방법을 결정하는 것은 사용자에게 달려 있습니다. 특정 사용 사례와 효율성이 다를 수 있습니다. 가장 좋은 방법은 각각을 시도하고 프로그래밍 시나리오에 가장 유연하고 효율적인 방법을 사용하는 것입니다.