$_SERVER 는 헤더, 경로 및 스크립트 위치와 같은 정보를 포함하는 배열입니다. 이 배열의 항목은 웹 서버에서 생성됩니다.
여러 정보를 확인 할 수 있는데 그 중 $_SERVER['PHP_SELF'] 라는 것에 관해 살펴보려고 합니다.
$_SERVER['PHP_SELF'] : 현재페이지의 주소에서 프로토콜(https://) 과 도메인을 제외한 값이 확인됩니다.
ex) /study/test.php
post 전송을 위한 form 태그 안에서 사용될 수도 있는데 폼 매개변수를 전달하는 파일의 위치가 현재 파일 자신일 경우 간단하게 $_SERVER[PHP_SELF] 로 자신의 위치를 지정할 수 있습니다.
<form method="post" action="$_SERVER['PHP_SELF']">
<input type="text" name="user" />
<br/>
<button type="submit">인사하기</button>
</form>
$_SERVER — 서버 및 실행 환경 정보
$_SERVER['SERVER_NAME'] : 웹사이트 도메인
ex) abc.com
$_SERVER['HTTP_ACCEPT'] : 웹사이트 타입
ex) text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
$_SERVER['HTTP_ACCEPT_CHARSET'] : 웹사이트 캐릭터셋
ex) windows-949,utf-8;q=0.7,*;q=0.3
$_SERVER['HTTP_ACCEPT_ENCODING'] : 인코딩 방식
ex) gzip, deflate, sdch
$_SERVER['HTTP_ACCEPT_LANGUAGE'] : 언어
ex) ko-KR;fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
$_SERVER['HTTP_USER_AGENT'] : 웹사이트에 접속한 사용자 환경
ex) Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
$_SERVER['REMOTE_ADDR'] : 웹사이트에 접속한 사용자 아이피
ex) xxx.xxx.xxx.xxx
$_SERVER['REMOTE_PORT'] : 웹사이트에 접속한 사용자 포트
ex) 8999
$_SERVER['SERVER_ADDR'] : 웹서버가 사용하는 아이피
ex) xxx.xxx.xxx.xxx
$_SERVER['SERVER_PORT'] : 웹서버가 사용하는 포트
ex) 80
$_SERVER['SERVER_SOFTWARE'] : 웹서버 구성 환경 (버전)
ex) Apache/2.2.22 (Win64) PHP/5.3.13
$_SERVER['GATEWAY_INTERFACE'] : CGI 정보
ex) CGI/1.1
$_SERVER['SERVER_PROTOCOL'] : 사용된 서버 프로토콜
ex) HTTP/1.1
$_SERVER['DOCUMENT_ROOT'] : 현재 웹사이트가 위치한 서버상의 위치
ex) /home/www/html
$_SERVER['SCRIPT_FILENAME'] : 실행되고 있는 위치와 파일명
ex) /home/www/html/memo/index.php
$_SERVER['REQUEST_URI'] : 현재페이지의 주소에서 도메인 제외
ex) /memo/index.php?user=
$_SERVER['PHP_SELF'] : 현재페이지의 주소에서 도메인과 넘겨지는 값 제외
ex) /memo/index.php
$_SERVER['HTTP_REFERER'] : 이전페이지의 URL 링크 값
$_SERVER['APPL_PHYSICAL_PATH'] : 현재페이지의 실제 파일 경로