서버사이드 언어인 php에서 현재 페이지의 위치 url주소나 파라미터(쿼리스트링)값 등을 알기위한 방법으로 아래의 $_SERVER 키워드를 사용합니다. 이는 내장변수로 전역 스코프를 가지기 때문에 php의 모든 페이지에서 사용할 수 있습니다. 그럼 아래 예제를 보세요.



# $_SERVER[]의 사용방법 및 예제

아래는 현재 접속자의 host 및 URL 관련 정보를 가져오는 예제입니다. 가져온 값을 각각 출력하여 나타내려합니다.
<?php
  echo $_SERVER['HTTP_HOST'];
  // 예제 1번, 현재 페이지의 호스트값 불러오기

  echo $_SERVER['REQUEST_URI'];
  // 예제 2번, 호스트를 제외한 나머지 주소

  echo $_SERVER['QUERY_STRING'];
  // 예제 3번, 현재 페이지의 쿼리 스트링 값
?>

위 예제는 각각 호스트주소, 호스트 이외의 uri 그리도 쿼리스트링을 값을 반환하는 방법입니다. 위를 출력하면 각각 아래와 같은 결과를 확인할 수 있습니다.
webisfree.com
// 예제 1번 결과 - 현재 호스트 주소를 출력

/index.php
// 예제 2번 결과 - 호스트를 제외한 나머지 주소를 모두 출력

titlequery=php-현재-페이지-url주소-파라미터-쿼리스트링등의-값-확인하는-방법
// 예제 3번 결과 - 주소 뒤의 파라미터 값, 즉 쿼리스트링을 모두 출력함


! 현재 url주소를 확인하는 경우는?언제 위와 같이 주소를 확인해야할까요? 다양한 경우가 있겠지만 현재 있는 페이지의 주소에 따라 다른 뷰를 보여주는 경우에 많이 사용됩니다.  예를들어 지금 /contact/ 페이지에 위치한 경우 해당 페이지의 html을 템플릿으로 연결할 수도 있고 아니면 현재 페이지에 해당하는 메뉴만 강조하는 인터페이스를 만들어 방문자에게 어디에 있는지 위치를 항상 보여줄 수 있습니다.



# 참고사항참고로 위의 $_SERVER["query_string"]은 주소로 넘어온 쿼리스트링 전체를 받아오기 때문에 만약 다수의 파라미터가 존재하는 경우 다시 원하는 값만 잘라내는 과정이 필요할 수 있습니다. 이런 경우는 $_GET["파라미터값"]을 사용하면 하나의 값만 받을 수 있어 더 간단합니다.