전역 변수
전역 변수. Superglobals은 모든 범위에서 항상 사용할 수있는 내장 변수다.
$GLOBALS
$GLOBALS는 PHP 스크립트의 어느 곳에서나 (함수 또는 메소드 내에서도) 전역 변수에 액세스하는 데 사용되는 PHP 슈퍼 전역 변수다.
PHP는 모든 전역 변수를 $GLOBALS[index]라는 배열에 저장합니다. 인덱스는 변수의 이름을 보유한다.
PHP
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
기본 예시
100z는 $GLOBALS 배열 내에 존재하는 변수이므로 함수 외부에서도 액세스 할 수 있다.
$_SERVER
$_SERVER는 헤더, 경로 및 스크립트 위치에 대한 정보를 보유하는 PHP 슈퍼 전역 변수다.
PHP
<?php echo $_SERVER['PHP_SELF']; echo "
"; echo $_SERVER['SERVER_NAME']; echo "
"; echo $_SERVER['HTTP_HOST']; echo "
"; echo $_SERVER['HTTP_REFERER']; echo "
"; echo $_SERVER['HTTP_USER_AGENT']; echo "
"; echo $_SERVER['SCRIPT_NAME']; ?>
기본 예시
예제 보려면 클릭$_SERVER 안에 들어갈 수 있는 가장 중요한 요소
$_SERVER[‘PHP_SELF’]
:
현재 실행 중인 스크립트의 파일 이름을 반환한다.
$_SERVER[‘GATEWAY_INTERFACE’]
:
서버가 사용 중인 CGI(Common Gateway Interface) 버전을 반환한다.
$_SERVER[‘SERVER_ADDR’]
:
호스트 서버의 IP 주소를 반환한다.
$_SERVER[‘SERVER_NAME’]
:
호스트 서버의 이름을 반환한다(예: maz.kr).
$_SERVER[‘SERVER_SOFTWARE’]
:
서버 식별 문자열(예: Apache/2.2.24)을 반환한다.
$_SERVER[‘SERVER_PROTOCOL’]
:
정보 프로토콜(예: HTTP/1.1)의 이름 및 개정판을 반환한다.
$_SERVER[‘REQUEST_METHOD’]
:
페이지에 액세스하는 데 사용되는 요청 메서드(예: POST)를 반환한다.
$_SERVER[‘REQUEST_TIME’]
:
요청 시작의 타임스탬프를 반환한다(예: 1377687496).
$_SERVER[‘QUERY_STRING’]
:
쿼리 문자열을 통해 페이지에 액세스할 경우 쿼리 문자열을 반환한다.
$_SERVER[‘HTTP_ACCEPT’]
:
현재 요청에서 Accept 헤더를 반환한다.
$_SERVER[‘HTTP_ACCEPT_CHARSET’]
:
현재 요청(예: utf-8, ISO-8859-1)에서 Accept_Charset 헤더를 반환한다.
$_SERVER[‘HTTP_HOST’]
:
현재 요청에서 호스트 헤더를 반환한다.
$_SERVER[‘HTTP_REFERER’]
:
현재 페이지의 전체 URL을 반환한다(일부 사용자 에이전트가 지원하지 않으므로 신뢰할 수 없음).
$_SERVER[‘HTTPS’]
:
스크립트가 보안 HTTP 프로토콜을 통해 쿼리되는지 확인한다.
$_SERVER[‘REMOTE_ADDR’]
:
사용자가 현재 페이지를 보고 있는 IP 주소를 반환한다.
$_SERVER[‘REMOTE_HOST’]
:
사용자가 현재 페이지를 보고 있는 호스트 이름을 반환한다.
$_SERVER[‘REMOTE_PORT’]
:
웹 서버와 통신하기 위해 사용자의 컴퓨터에서 사용 중인 포트를 반환한다.
$_SERVER[‘SCRIPT_FILENAME’]
:
현재 실행 중인 스크립트의 절대 경로 이름을 반환한다.
$_SERVER[‘SERVER_ADMIN’]
:
웹 서버 구성 파일의 SERVER_ADMIN 지시문에 지정된 값(스크립트가 가상 호스트에서 실행되는 경우 해당 가상 호스트에 대해 정의된 값)을 반환한다(예: i@maz.kr).
$_SERVER[‘SERVER_PORT’]
:
웹 서버가 통신에 사용 중인 서버 컴퓨터의 포트(예: 80)를 반환한다.
$_SERVER[‘SERVER_SIGNATURE’]
:
서버 생성 페이지에 추가된 서버 버전 및 가상 호스트 이름을 반환한다.
$_SERVER[‘PATH_TRANSLATED’]
:
파일 시스템 기반 경로를 현재 스크립트로 반환한다.
$_SERVER[‘SCRIPT_NAME’]
:
현재 스크립트의 경로를 반환한다.
$_SERVER[‘SCRIPT_URI’]
:
현재 페이지의 URI를 반환한다.
$_REQUEST
$ _REQUEST는 HTML 양식을 제출 한 후 데이터를 수집하는 데 사용되는 PHP 슈퍼 전역 변수다.
아래 예제에서는 입력 필드와 제출 단추가 있는 양식을 보여 준다.
사용자가 “Submit”을 클릭하여 데이터를 제출하면 양식 데이터가
PHP
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = htmlspecialchars($_REQUEST['fname']); if (empty($name)) { echo "Name is empty"; } else { echo $name; } } ?>
기본 예시
예시를 보려면 클릭$_POST
$_POST는 메소드 = “post”로 HTML 양식을 제출 한 후 양식 데이터를 수집하는 데 사용되는 PHP 슈퍼 전역 변수다.
$_POST는 변수를 전달하는 데에도 널리 사용된다.
HTML
PHP
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST['fname']; if (empty($name)) { echo "Name is empty"; } else { echo $name; } } ?>
기본 예시
예시를 보려면 클릭$_GET
PHP $_GET는 메소드 = “get”으로 HTML 양식을 제출 한 후 양식 데이터를 수집하는 데 사용되는 PHP 슈퍼 전역 변수다.
$_GET는 URL에서 전송된 데이터를 수집할 수도 있다.
HTML
Test $GET
PHP
<?php echo "Study " . $_GET['subject'] . " at " . $_GET['web']; ?>
기본 예시
예시를 보려면 클릭참고
W3C School - PHP Global Variables - Superglobals
W3C School - PHP Superglobal - $GLOBALS
W3C School - PHP Superglobal - $_SERVER
W3C School - PHP Superglobal - $_REQUEST
W3C School - PHP Superglobal - $_POST
W3C School - PHP Superglobal - $_GET
W3C School - PHP Tryit Editor