최신 웹 개발 튜토리얼
 

PHP 5 개 전역 변수 - 슈퍼 전역


자동 전역은 PHP 4.1.0에서 소개하고, 항상 모든 범위에서 사용할 수있는 내장 변수가 됨.


PHP 글로벌 변수 - 슈퍼 전역

PHP의 몇 가지 미리 정의 된 변수는 "superglobals" 당신은 특별한 아무것도 할 필요없이 함수, 클래스 또는 파일에서 액세스 할 수 있습니다 - 그들은 관계없이 범위를 항상 액세스 할 수있는 것을 의미한다.

PHP의 자동 전역 변수는 다음과 같습니다

  • $ GLOBALS
  • $ _SERVER
  • $ _REQUEST
  • $ _POST
  • $ _GET
  • $ _FILES
  • $ _ENV
  • $ _COOKIE
  • $ _SESSION

이 장에서는 슈퍼 전역의 일부를 설명 할 것, 나머지는 다음 장에서 설명한다.


PHP $ GLOBALS

$ GLOBALS은 (함수 나 메소드 내에서도) PHP 스크립트 어디서나 글로벌 변수에 액세스하는 데 사용되는 PHP 슈퍼 전역 변수입니다.

PHP 저장 $ GLOBALS [불리는 어레이의 모든 전역 변수 index ]. 인덱스는 변수의 이름을 보유하고 있습니다.

아래의 예는 슈퍼 전역 변수 $ GLOBALS을 사용하는 방법을 보여줍니다 :

<?php
$x = 75;
$y = 25;
 
function addition() {
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
 
addition();
echo $z;
?>
»실행 예

Z는 $ GLOBALS의 어레이 내의 가변 존재하기 때문에 위의 예에서, 또한 함수 외부에서 액세스!


PHP $ _SERVER

$ _SERVER는 헤더, 경로, 스크립트 위치에 대한 정보를 보유하고 PHP 슈퍼 전역 변수입니다.

아래의 예는 $의 _SERVER의 요소 중 일부를 사용하는 방법을 보여줍니다

<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
»실행 예

다음 표는 $ _SERVER 안에 갈 수있는 가장 중요한 요소를 나열합니다 :

요소 / 코드 기술
$ _SERVER [ 'PHP_SELF'] 현재 실행중인 스크립트의 파일 이름을 반환
$ _SERVER [ 'GATEWAY_INTERFACE'] 공통 게이트웨이 인터페이스의 버전을 반환합니다 (CGI) 서버가 사용됩니다
$ _SERVER [ 'SERVER_ADDR'] 호스트 서버의 IP 주소를 반환
$ _SERVER [ 'SERVER_NAME'] 호스트 서버의 이름을 반환합니다 (such as www.w3ii.com)
$ _SERVER [ 'SERVER_SOFTWARE'] 서버 식별 문자열을 반환합니다 (such as Apache/2.2.24)
$ _SERVER [ 'SERVER_PROTOCOL'] 정보 프로토콜의 이름과 버전을 반환합니다 (such as HTTP/1.1)
$ _SERVER [ 'REQUEST_METHOD'] 페이지에 액세스하는 데 사용되는 요청 메소드를 돌려줍니다 (such as POST)
$ _SERVER [ 'REQUEST_TIME'] 요청의 시작의 타임 스탬프를 돌려줍니다 (such as 1377687496)
$ _SERVER [ 'QUERY_STRING'] 페이지가 쿼리 문자열을 통해 액세스되는 경우 쿼리 문자열을 반환
$ _SERVER [ 'HTTP_ACCEPT'] 현재 요청에서 Accept 헤더를 돌려줍니다
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] 현재 요청에서 Accept_Charset 헤더를 리턴 (UTF-8 등의, ISO-8859-1)
$ _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 지침에 주어진 값을 반환합니다 (such as [email protected])
$ _SERVER [ 'SERVER_PORT'] 서버 컴퓨터의 포트가 통신을 위해 웹 서버에 의해 사용되고 돌려 (such as 80)
$ _SERVER [ 'SERVER_SIGNATURE'] 서버가 생성하는 페이지에 추가되는 서버 버전과 가상 호스트 이름을 반환
$ _SERVER [ 'PATH_TRANSLATED'] 현재 스크립트 파일 시스템 기반의 패스를 돌려줍니다
$ _SERVER [ 'SCRIPT_NAME'] 현재 스크립트의 경로를 반환
$ _SERVER [ 'SCRIPT_URI'] 현재 페이지의 URI를 돌려줍니다

PHP $ _REQUEST

PHP $ _REQUEST는 HTML 양식을 제출 한 후 데이터를 수집하는 데 사용됩니다.

아래의 예는 입력 필드 및 제출 버튼 형태를 나타낸다. 사용자가 클릭하여 데이터를 제출하면 "Submit" , 양식 데이터에 지정된 파일로 전송 action 의 속성 <form> 태그입니다. 이 예에서는, 가공 형상 데이터 파일이 자신을 가리. 당신이 양식 데이터를 처리하기 위해 다른 PHP 파일을 사용하려면, 원하는 파일 이름으로 그것을 대체합니다. 그런 다음, 우리는 입력 필드의 값을 수집하는 슈퍼 전역 변수 $ _REQUEST를 사용할 수 있습니다 :

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="fname">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>
»실행 예

PHP $ _POST

PHP $ _POST 널리 방법 = "POST"로 HTML 양식을 제출 한 후 양식 데이터를 수집하는 데 사용됩니다. $ _POST도 널리 변수를 전달하는 데 사용됩니다.

아래의 예는 입력 필드 및 제출 버튼 형태를 나타낸다. 사용자가 클릭하여 데이터를 제출하면 "Submit" , 양식 데이터에 지정된 파일로 전송 action 의 속성 <form> 태그입니다. 이 예에서는, 가공 형상 데이터에 대한 파일 자체를 가리킬. 당신이 양식 데이터를 처리하기 위해 다른 PHP 파일을 사용하려면, 원하는 파일 이름으로 그것을 대체합니다. 그런 다음, 우리는 입력 필드의 값을 수집하는 슈퍼 전역 변수 $ _POST를 사용할 수 있습니다 :

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="fname">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>
»실행 예

PHP $ _GET

PHP $ _GET는 방법 = "수"가있는 HTML 양식을 제출 한 후 양식 데이터를 수집하는 데 사용할 수 있습니다.

$ _GET 또한 URL에 전송 된 데이터를 수집 할 수 있습니다.

우리는 매개 변수를 사용하여 하이퍼 링크가 포함 된 HTML 페이지를 가정합니다 :

<html>
<body>

<a href="test_get.php?subject=PHP&web=w3ii.com">Test $GET</a>

</body>
</html>

사용자가 링크를 클릭하면 "Test $GET" , 매개 변수 "subject""web" 전송됩니다 "test_get.php" , 당신은 자신의 값을 다음에 액세스 할 수 있습니다 "test_get.php" $ _GET와 함께.

아래 예제의 코드이다 "test_get.php" :

<html>
<body>

<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>

</body>
</html>
»실행 예

팁 : 더 약 $ _POST와의 $ _GET 배울 수 PHP 양식의 장을.