[PHP] 슈퍼 글로벌 변수 $_SERVER
2022. 9. 17. 03:17ㆍProgram/PHP
067_PHP 슈퍼 글로벌 변수 $_SERVER
[요약]
- ip주소, 페이지 주소 등의 정보를 알려주는 슈퍼 글로벌 변수 $_SERVER 에 대해 알아보자
$_SERVER는 슈퍼 글로벌 변수 중 하나이다.
슈퍼 글로벌 변수는 PHP 자체적으로 내장된 변수이며 데이형은 배열이다.
인덱스값에 따라 여러 정보를 확인할 수 있다.
[$_SERVER 변수로 얼을 수 있는 정보]
| 인덱스 | 내용 |
| PHP_SELF | 현재 실행 중인 파일의 경로와 파일명 표시 |
| argv | 페이지에 전달된 데이터 표시 |
| argc | 페이지에 전달된 데이터의 라인별 수 |
| GATEWAY_INTERFACE | 서버가 사용 중인 CGI 버전 |
| SERVER_ADDR | 현재 사용 중인 서버의 IP 주소 |
| SERVER_NAME | 현재 사용 중인 서버의 호스트명 |
| SERVER_SOFTWARE | 리스폰스헤더에 쓰여있는 서버의 소프트웨어 환경 |
| SERVER_PROTOCOL | 페이지가 리퀘스트될 때의 프로토콜명과 버전 |
| REQUEST_METHOD | 페이지에 엑세스할 때 사용된 리퀘스트의 메소드명 |
| REQUEST_TIME | 리퀘스트가 개시된 때의 타임스탬프 |
| REQUEST_TIME_FLOAT | 리퀘스트가 개시된 때의 타임스탬프(마이크로 초 표시) |
| QUERY_STRING | 검색인수 표시 |
| DOCUMENT_ROOT | 현재 실행 파일의 경로를 현재 사용 중인 시스템의 최상위 결로부터 표시 |
| HTTP_CONNECTION | 현재 리퀘스트의 CONNECTION 헤더 내용 |
| HTTP_HOST | 현재 리퀘스트의 HOST 헤더 내용 |
| HTTP_REFERER | 현재 페이지 이전의 페이지 주소 |
| HTTP_USER_AGENT | 페이지에 접속 중인 유저 에이전트의 표시 문자열 |
| HTTPS | HTTPS 프로토콜을 이용해 실행되는 경우의 정보를 표시 |
| REMOTE_ADDR | 현재 페이지를 보고 있는 유저의 아이피 주소 |
| REMOTE_HOST | 현재 패이지를 액세스하고 있는 호스트명 |
| REMOTE_PORT | 사용자의 기기에서 웹서버로 통신하는 포트 |
| REMOTE_USER | 인증된 사용자 여부 |
| SCRIPT_FILENAME | 현재 실행 중인 스크립트의 절대주소 |
| SERVER_ADMIN | 웹서버 설정 파일의 SERVER_ADMIN에 설정된 값 |
| SERVER_PORT | 웹서버의 통신포트(보통: 80) |
페이지에 접속한 사용자의 IP주소(회선에 부여된 숫자로 구성된 주소)를 알고자 한다면 다음의 코드를 사용한다.
$_SERVER['REMOTE_ADDR'];
페이지의 주소를 확인하려면 다음의 코드를 사용한다.
$_SERVER['PHP_SELF'];
다음은 $_SERVER 변수의 일부 값을 출력하는 예제이다.
[예제: 69_superGlobal.php ]
<?php
echo 'DOCUMENT_ROOT is ' . $_SERVER['DOCUMENT_ROOT'] . '<br>';
echo 'HTTP_ACCEPT_LANGUAGE is ' . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . '<br>';
echo 'HTTP_HOST is ' . $_SERVER['HTTP_HOST'] . '<br>';
echo 'HTTP_USER_AGENT is ' . $_SERVER['HTTP_USER_AGENT'] . '<br>';
echo 'SERVER_PORT is ' . $_SERVER['SERVER_PORT'] . '<br>';
echo 'SCRIPT_NAME is ' . $_SERVER['SCRIPT_NAME'] . '<br>';
echo 'REQUEST_URI is ' . $_SERVER['REQUEST_URI'] . '<br>';
echo 'PHP_SELF is ' . $_SERVER['PHP_SELF'] . '<br>';
echo 'QUERY_STRING is ' . $_SERVER['QUERY_STRING'] . '<br>';
?>
실행결과

결과의 마지막에 있는 QUERY_STRING의 값은 현재 GET방식의 변수 정보가 없기 때문에 표시되지 않았다.
아래와 같이 URL 값에 GET방식의 변수가 붙어있다면 아래와 같이 출력되는 것을 확인할 수 있다.

초보자를 위한 PHP 200제
김태영 지음 | 정보문화사
'Program > PHP' 카테고리의 다른 글
| [PHP] include와 require를 한 번만 호출하기 (0) | 2022.09.17 |
|---|---|
| [PHP] 하나의 파일을 여러곳에서 사용하기 include, require (0) | 2022.09.17 |
| [PHP] 파라미터(parameter)의 기본값 설정하기 (0) | 2022.09.17 |
| [PHP] 함수에서 값 반환하기 return (0) | 2022.09.17 |
| [PHP] 파라미터(parameter)와 아규먼트(argument) (0) | 2022.09.16 |