PHP에서 현재 전체 URL 가져 오기

Krissnaawat Kaewsanmuang 2024년2월16일
PHP
  1. http_build_url()을 사용하여 PHP에서 현재 URL 가져 오기
  2. $_SERVER[]를 사용하여 PHP에서 현재 URL 가져 오기
  3. $_SERVER['HTTPS']를 사용하여 PHP에서 현재 URL 가져 오기
  4. PHP에서 매개 변수를 포함하는 현재 URL 가져 오기
  5. 결론
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을 얻는 방법이 가장 적합한 방법을 결정하는 것은 사용자에게 달려 있습니다. 특정 사용 사례와 효율성이 다를 수 있습니다. 가장 좋은 방법은 각각을 시도하고 프로그래밍 시나리오에 가장 유연하고 효율적인 방법을 사용하는 것입니다.