자동 전역은 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 양식의 장을.