PHP는 많은 수의 사전 정의된 변수를 제공합니다. 많은 변수는 실행 중인 서버의 버전 및 설정은 물론 기타 요인에 따라 달라지기 때문에 일부 사전 정의된 변수는 PHP가 명령에서 실행될 때 적용되지 않습니다.
사용자 정의 사전 정의 변수
예제 코드는 다음과 같습니다.
<?php echo "当前操作系统信息".PHP_OS."<br/>"; echo '本文件路径和文件名为:'.__FILE__.'<br />'; 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!