>  기사  >  백엔드 개발  >  PHP의 사전 정의된 변수 방법

PHP의 사전 정의된 변수 방법

小云云
小云云원래의
2017-11-15 15:10:101810검색

PHP는 많은 수의 사전 정의된 변수를 제공합니다. 많은 변수는 실행 중인 서버의 버전 및 설정은 물론 기타 요인에 따라 달라지기 때문에 일부 사전 정의된 변수는 PHP가 명령에서 실행될 때 적용되지 않습니다.

사용자 정의 사전 정의 변수

예제 코드는 다음과 같습니다.

<?php  
echo "当前操作系统信息".PHP_OS."<br/>";  
echo &#39;本文件路径和文件名为:&#39;.__FILE__.&#39;<br />&#39;;  
echo "当前PHP版本信息".PHP_VERSION."<br/>";  
?>

시스템 사전 정의 변수

$GLOBALS

에는 전역 범위에서 유효한 변수에 대한 참조가 포함되어 있습니다. 각 현재 스크립트. 이 배열의 키 이름은 PHP 3부터 $GLOBALS 배열이 있습니다.

$_SERVER

변수는 웹 서버에 의해 설정되거나 실행 환경과 직접 연결됩니다. 현재 스크립트의 이전 배열 $HTTP_SERVER_VARS 배열과 유사합니다(여전히 유효하지만 더 이상 사용되지 않음).

$_GET

URL 요청을 통해 스크립트에 제출된 변수입니다(여전히 유효하지만 더 이상 사용되지 않음). ).

$_POST

HTTP 쿠키 메소드를 통해 스크립트에 제출된 변수입니다. 이전 배열 $HTTP_POST_VARS 배열과 유사합니다(여전히 유효하지만 더 이상 사용되지 않음). HTTP 쿠키 방법. 이전 배열 $HTTP_COOKIE_VARS 배열과 유사하지만(여전히 유효하지만 더 이상 사용되지 않음).

$_FILES

HTTP POST 파일 업로드를 통해 스크립트에 제출된 변수. 이전 배열 $HTTP_POST_FILES 배열과 유사합니다. 유효하지만 더 이상 사용되지 않음). 자세한 내용은 POST 메서드 업로드를 참조하세요.

$ _ENV

실행 환경에서 스크립트에 제출된 변수입니다. 이전 배열 $HTTP_ENV_VARS 배열과 유사합니다(여전히 유효하지만 더 이상 사용되지 않음).

변수는 GET, POST 및 COOKIE 메커니즘을 통해 스크립트에 제출되므로 이 배열은 신뢰할 수 없습니다. 이 배열에 포함된 모든 변수의 존재 및 순서는 php.ini의 Variable_order 구성 지시문에 따라 정의됩니다. PHP 4.1.0 이전 버전에서는 import_request_variables( )를 참조하세요.

PHP 4.3.0부터 $_FILES의 파일 정보는 더 이상 $_REQUEST에 존재하지 않습니다.

참고: 명령줄 모드에서 실행할 때 이 배열은 argv 및 argc 항목이 포함되어 있습니다. $_SERVER 배열에 이미 존재합니다.

$_SESSION

현재 스크립트 세션에 등록된 변수입니다(여전히 유효하지만 더 이상 사용되지 않음). _SERVER['PHP_SELF']

현재 실행된 스크립트의 파일 이름은 문서 루트와 관련되어 있습니다. 예를 들어 URL 주소가 http://example.com/인 스크립트에서 $_SERVER['PHP_SELF']를 사용합니다. test.php/foo.bar는 /test .php/foo.bar가 됩니다. PHP가 명령줄 모드에서 실행되는 경우 이 변수는 유효하지 않습니다.

$_SERVER['SERVER_NAME']

이름 스크립트가 현재 실행 중인 서버 호스트입니다. 스크립트가 가상 호스트에서 실행 중인 경우 이름은 해당 가상 호스트에서 설정한 값에 따라 결정됩니다. 예를 들어 URL 주소가 /test.php $_SERVER['SERVER_NAME' ], 이 결과를 얻을 것입니다.

예제 코드는 다음과 같습니다:

<?php 
// user sent a GET header with key = secret_access, val = true, so 
echo $_GET["secret_access"]; // output: true 
echo $secret_access; // output: 
session_start(); 
// in previous logic, you set session variable $secret_access = false 
echo $_SESSION["secret_access"]; // output: false 
echo $secret_access; // output: false 
extract_globals();  // Globals put into "normal" variables 
echo $_GET["secret_access"]; // output: true 
echo $_SESSION["secret_access"]; // output: false 
echo $secret_access; // output: true 
// VARIABLES ARE COMPROMISED! 
// DO NOT USE $secret_access ! 
// USE $_SESSION["secret_access"] instead !!! 
?>

php 4.2.0 그리고 후속 버전에서는 php 지시어 Register_globals의 기본값이 off입니다. 이는 PHP의 주요 변경 사항입니다. Register_globals 값을 off로 설정하면 전역 범위에 설정된 사전 정의된 변수의 유효성에 영향을 미칩니다. 예를 들어 DOCUMENT_ROOT 값을 얻으려면 $DOCUMENT_ROOT 대신 $_SERVER['DOCUMENT_ROOT']를 사용해야 합니다. 예를 들어 $id 대신 $_GET['id']를 사용하여 id 값을 가져옵니다. 또는 $_ENV['HOME ']을 사용하여 $HOME을 대체하여 환경 변수 HOME의 값을 얻습니다.

관련 권장 사항:

PHP 사전 정의 변수 예제에 대한 자세한 설명

php 사전 정의 변수

php 사전 정의 변수_PHP 튜토리얼

위 내용은 PHP의 사전 정의된 변수 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.