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

巴扎黑
풀어 주다: 2016-11-12 09:45:25
원래의
1071명이 탐색했습니다.

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

PHP에서 미리 정의된 변수 중 다수는 "슈퍼 전역"입니다. 즉, 스크립트의 전체 범위에서 사용할 수 있습니다. 전역 $variable;을 실행하지 않고도 함수나 메서드 내에서 액세스할 수 있습니다.

이러한 슈퍼 전역 변수는 다음과 같습니다.

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$ _GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

이 섹션에서는 몇 가지 슈퍼 전역 변수를 소개하고 기타 슈퍼전역 변수는 이후 장에서 설명됩니다.

$GLOBALS — 전역 범위에서 사용할 수 있는 모든 변수를 나타냅니다.

$GLOBALS 이 전역 변수는 PHP 스크립트의 어디에서나(함수 또는 메서드에서) 전역 변수에 액세스하는 데 사용됩니다.

PHP는 모든 전역 변수를 $GLOBALS[index]라는 배열에 저장합니다. 변수의 이름은 배열의 키입니다.

다음 예에서는 슈퍼 전역 변수 $GLOBALS를 사용하는 방법을 보여줍니다.

Instance

<?php 
$x = 75; 
$y = 25;
 
function addition() { 
  $GLOBALS[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;]; 
}
 
addition(); 
echo $z; 
?>
로그인 후 복사

Running Instance

위 예에서는 이후 z는 $GLOBALS 배열의 변수이므로 함수 외부에서 액세스할 수 있습니다.

PHP $_SERVER

$_SERVER 이 슈퍼글로벌 변수는 헤더, 경로 및 스크립트 위치에 대한 정보를 보유합니다.

다음 예에서는 $_SERVER의 특정 요소를 사용하는 방법을 보여줍니다.

Instance

<?php 
echo $_SERVER[&#39;PHP_SELF&#39;];
echo "<br>";
echo $_SERVER[&#39;SERVER_NAME&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_HOST&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_REFERER&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_USER_AGENT&#39;];
echo "<br>";
echo $_SERVER[&#39;SCRIPT_NAME&#39;];
?>
로그인 후 복사

Running Instance

다음 표에는 가장 중요한 항목이 나열되어 있습니다. $_SERVER에서 액세스할 수 있는 요소:

요소/코드 설명

$_SERVER['PHP_SELF'] 현재 실행 중인 스크립트의 파일 이름을 반환합니다.

$_SERVER['GATEWAY_INTERFACE']는 서버에서 사용하는 CGI 사양 버전을 반환합니다.

$_SERVER['SERVER_ADDR']은 스크립트가 현재 실행 중인 서버의 IP 주소를 반환합니다.

$_SERVER['SERVER_NAME']은 스크립트가 현재 실행 중인 서버의 호스트 이름(예: www.w3school.com.cn)을 반환합니다.

$_SERVER['SERVER_SOFTWARE']는 서버 식별 문자열(예: Apache/2.2.24)을 반환합니다.

$_SERVER['SERVER_PROTOCOL'] 페이지가 요청되었을 때 통신 프로토콜의 이름과 버전을 반환합니다(예: "HTTP/1.0").

$_SERVER['REQUEST_METHOD']는 페이지에 액세스하는 데 사용되는 요청 방법(예: POST)을 반환합니다.

$_SERVER['REQUEST_TIME']은 요청이 시작된 타임스탬프를 반환합니다(예: 1577687494).

$_SERVER['QUERY_STRING'] 쿼리 문자열을 통해 이 페이지에 액세스하는 경우 쿼리 문자열을 반환합니다.

$_SERVER['HTTP_ACCEPT'] 현재 요청의 요청 헤더를 반환합니다.

$_SERVER['HTTP_ACCEPT_CHARSET']는 현재 요청(예: utf-8, ISO-8859-1)에서 Accept_Charset 헤더를 반환합니다.

$_SERVER['HTTP_HOST']는 Accept_Charset를 반환합니다. 현재 요청 호스트 헤더의 헤더입니다.

$_SERVER['HTTP_REFERER'] 현재 페이지의 전체 URL을 반환합니다(모든 사용자 에이전트에서 지원되지 않으므로 신뢰할 수 없음).

$_SERVER['HTTPS'] 보안 HTTP 프로토콜을 통해 스크립트를 쿼리할지 여부입니다.

$_SERVER['REMOTE_ADDR'] 현재 페이지를 탐색하는 사용자의 IP 주소를 반환합니다.

$_SERVER['REMOTE_HOST'] 현재 페이지를 탐색하는 사용자의 호스트 이름을 반환합니다.

$_SERVER['REMOTE_PORT'] 웹 서버에 연결하기 위해 사용자 컴퓨터에서 사용되는 포트 번호를 반환합니다.

$_SERVER['SCRIPT_FILENAME']은 현재 실행 중인 스크립트의 절대 경로를 반환합니다.

$_SERVER['SERVER_ADMIN'] 이 값은 Apache 서버 구성 파일의 SERVER_ADMIN 매개변수를 지정합니다.

$_SERVER['SERVER_PORT'] 웹 서버가 사용하는 포트입니다. 기본값은 "80"입니다.

$_SERVER['SERVER_SIGNATURE']는 서버 버전과 가상 호스트 이름을 반환합니다.

$_SERVER['PATH_TRANSLATED'] 현재 스크립트가 있는 파일 시스템의 기본 경로(문서 루트 디렉터리 아님)입니다.

$_SERVER['SCRIPT_NAME']은 현재 스크립트의 경로를 반환합니다.

$_SERVER['SCRIPT_URI']는 현재 페이지의 URI를 반환합니다.

PHP $_REQUEST

PHP $_REQUEST는 HTML 양식으로 제출된 데이터를 수집하는 데 사용됩니다.

아래 예는 입력 필드와 제출 버튼이 있는 양식을 보여줍니다. 사용자가 제출 버튼을 클릭하여 양식 데이터를 제출하면 양식 데이터는

태그의 작업 속성에 지정된 스크립트 파일로 전송됩니다. 이 예에서는 양식 데이터를 처리하기 위해 파일 자체를 지정합니다. 양식 데이터를 처리하기 위해 다른 PHP 파일을 사용해야 하는 경우 파일 이름을 원하는 파일 이름으로 변경하세요. 그런 다음 슈퍼 전역 변수 $_REQUEST를 사용하여 입력 필드의 값을 수집할 수 있습니다.

Instance

<html>
<body>
<form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_REQUEST[&#39;fname&#39;]; 
echo $name; 
?>
</body>
</html>
로그인 후 복사

Run 인스턴스

PHP $_POST

PHP $_POST는 method="post"로 HTML 양식을 제출한 후 양식 데이터를 수집하는 데 널리 사용됩니다. $_POST는 일반적으로 변수를 전달하는 데에도 사용됩니다.

아래 예는 입력 필드와 제출 버튼이 있는 양식을 보여줍니다. 사용자가 데이터를 제출하기 위해 제출 버튼을 클릭하면 양식 데이터가 태그의 작업 속성에 지정된 파일로 전송됩니다. 이 예에서는 양식 데이터를 처리하기 위해 파일 자체를 지정합니다. 다른 PHP 페이지를 사용하여 양식 데이터를 처리하려면 파일 이름을 원하는 파일 이름으로 변경하세요. 그런 다음 슈퍼전역 변수 $_POST를 사용하여 입력 필드의 값을 수집할 수 있습니다.

Instance

<html>
<body>
<form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_POST[&#39;fname&#39;]; 
echo $name; 
?>
</body>
</html>
로그인 후 복사

Run Instance

PHP $_GET

PHP $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。

$_GET 也可以收集 URL 中的发送的数据。

假设我们有一张页面含有带参数的超链接:

<html>
<body>
<a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
</body>
</html>
로그인 후 복사

当用户点击链接 "Test $GET",参数 "subject" 和 "web" 被发送到 "test_get.php",然后您就能够通过 $_GET 在 "test_get.php" 中访问这些值了。

下面的例子是 "test_get.php" 中的代码:

实例

<html>
<body>
<?php 
echo "Study " . $_GET[&#39;subject&#39;] . " at " . $_GET[&#39;web&#39;];
?>
</body>
</html>
로그인 후 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!