여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - 기초 - 전역 변수
PHP – 기초 – 전역 변수
2년전 작성
1년전 수정

전역 변수

전역 변수. 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;
?>

기본 예시
100

z는 $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”을 클릭하여 데이터를 제출하면 양식 데이터가

태그의 action 속성에 지정된 파일로 전송된다.

HTML

Name: 

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
Name:
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'];
?>

참고

Mingg`s Diary
밍구
밍구
공부 목적 블로그