반응형
PHP의 $_SERVER 변수는 서버와 실행 환경에 대한 다양한 정보를 제공하는 슈퍼 글로벌 배열입니다. 이 글에서는 $_SERVER 변수에 포함된 주요 항목들을 설명하고, 각각의 예제와 함께 실제로 어떻게 동작하는지 보여드리겠습니다. 예제 도메인으로 mandooya.com과 test.mandooya.com을 사용하여 결과를 확인할 수 있습니다.
본론
1. $_SERVER['PHP_SELF']
- 설명: 현재 실행 중인 스크립트의 파일명을 반환합니다. 경로는 웹 루트에서부터 시작합니다.
- 예시 코드:
<?php
echo "현재 스크립트 경로: " . $_SERVER['PHP_SELF'];
?>
출력 예시:
현재 스크립트 경로: /index.php
2. $_SERVER['SERVER_NAME']
- 설명: 서버의 호스트 이름을 반환합니다. 예를 들어, 웹사이트가 mandooya.com에서 실행 중이라면 이 값은
mandooya.com
이 됩니다. - 예시 코드:
<?php
echo "서버 이름: " . $_SERVER['SERVER_NAME'];
?>
출력 예시:
서버 이름: mandooya.com
3. $_SERVER['HTTP_HOST']
- 설명: 요청된 호스트 헤더를 반환합니다. 이는 도메인 이름과 포트를 포함할 수 있습니다.
- 예시 코드:
<?php
echo "HTTP 호스트: " . $_SERVER['HTTP_HOST'];
?>
출력 예시:
HTTP 호스트: mandooya.com
4. $_SERVER['HTTP_REFERER']
- 설명: 사용자가 이전에 방문한 페이지의 URL을 반환합니다. 이 값은 항상 신뢰할 수 없으며, 일부 브라우저나 프록시는 이 정보를 제공하지 않을 수 있습니다.
- 예시 코드:
<?php
echo "이전 페이지(Referer): " . $_SERVER['HTTP_REFERER'];
?>
출력 예시:
이전 페이지(Referer): http://test.mandooya.com/previous_page.php
5. $_SERVER['HTTP_USER_AGENT']
- 설명: 현재 사용자의 브라우저 정보를 포함한 사용자 에이전트 문자열을 반환합니다. 이를 통해 사용자가 어떤 브라우저와 운영체제를 사용하는지 확인할 수 있습니다.
- 예시 코드:
<?php
echo "사용자 에이전트: " . $_SERVER['HTTP_USER_AGENT'];
?>
출력 예시:
사용자 에이전트: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36
6. $_SERVER['SCRIPT_NAME']
- 설명: 현재 실행 중인 스크립트의 경로를 반환합니다.
- 예시 코드:
<?php
echo "스크립트 이름: " . $_SERVER['SCRIPT_NAME'];
?>
출력 예시:
스크립트 이름: /index.php
7. $_SERVER['REQUEST_METHOD']
- 설명: 현재 페이지에 접근할 때 사용된 HTTP 요청 방식을 반환합니다(예: GET, POST).
- 예시 코드:
<?php
echo "요청 방식: " . $_SERVER['REQUEST_METHOD'];
?>
출력 예시:
요청 방식: GET
8. $_SERVER['REMOTE_ADDR']
- 설명: 사용자가 접속한 IP 주소를 반환합니다.
- 예시 코드:
<?php
echo "사용자 IP 주소: " . $_SERVER['REMOTE_ADDR'];
?>
출력 예시:
사용자 IP 주소: 192.168.1.100
9. $_SERVER['QUERY_STRING']
- 설명: URL에 포함된 쿼리 문자열을 반환합니다.
- 예시 코드:
<?php
echo "쿼리 문자열: " . $_SERVER['QUERY_STRING'];
?>
출력 예시 (URL이
http://mandooya.com/index.php?name=John&age=25
일 때):쿼리 문자열: name=John&age=25
10. $_SERVER['DOCUMENT_ROOT']
- 설명: 서버의 문서 루트 디렉토리 경로를 반환합니다.
- 예시 코드:
<?php
echo "문서 루트 디렉토리 경로: " . $_SERVER['DOCUMENT_ROOT'];
?>
출력 예시 (Apache 서버에서):
문서 루트 디렉토리 경로: /var/www/html/
11. $_SERVER['REQUEST_URI']
- 설명: 현재 페이지에 대한 URI를 반환합니다.
- 예시 코드:
<?php
echo "요청된 URI: " . $_SERVER['REQUEST_URI'];
?>
출력 예시 (URL이
http://mandooya.com/index.php?name=John&age=25
일 때):요청된 URI: /index.php?name=John&age=25
12. $_SERVER['SCRIPT_FILENAME']
- 설명: 현재 실행 중인 스크립트의 절대 경로를 반환합니다.
- 예시 코드:
<?php
echo "스크립트 파일 경로: " . $_SERVER['SCRIPT_FILENAME'];
?>
출력 예시 (Apache 서버에서):
스크립트 파일 경로: /var/www/html/index.php
기타 유용한 $_SERVER 변수들
13. $_SERVER['GATEWAY_INTERFACE']
- 서버가 사용하는 CGI(Common Gateway Interface)의 버전을 반환합니다.
14. $_SERVER['HTTPS']
- HTTPS를 통해 페이지가 요청되었는지 여부를 반환합니다.
15. $_SERVER['REMOTE_PORT']
- 웹 서버와 통신하는 데 사용된 사용자 측 포트를 반환합니다.
16. $_SERVER['HTTP_ACCEPT_LANGUAGE']
- 브라우저가 선호하는 언어 목록을 반환합니다.
17. $_SERVER['HTTP_ACCEPT_ENCODING']
- 브라우저가 지원하는 인코딩 형식을 반환합니다(예: gzip, deflate).
반응형
'PHP' 카테고리의 다른 글
두 날짜 사이의 날짜들을 배열로 반환 하는 함수 (0) | 2024.11.14 |
---|---|
PHP 날짜 몇분전, 몇시간전, 몇일전, 몇달전, 몇년전 지난 시간 계산 (0) | 2024.11.10 |
100일 뒤 날짜구하기, 특정 날짜 구하기 (0) | 2023.11.19 |
Notice: Use of undefined constant 오류 (0) | 2013.02.11 |
SWITCH 문 (0) | 2010.10.26 |