Home >Backend Development >PHP Tutorial >php predefined variable method
PHP provides a large number of predefined variables. Since many variables depend on the version and settings of the running server, as well as other factors, there is no detailed documentation. Some predefined variables are not available when PHP is run from the command line. Not effective. Detailed list of these variables.
User-defined predefined variables
The example code is as follows:
<?php echo "当前操作系统信息".PHP_OS."<br/>"; echo '本文件路径和文件名为:'.__FILE__.'<br />'; echo "当前PHP版本信息".PHP_VERSION."<br/>"; ?>
System predefined variables
$ GLOBALS
Contains a reference to each variable that is valid in the global scope of the current script. The key name of the array is the name of the global variable. Starting with PHP 3, the $GLOBALS array exists.
$ _SERVER
Variables are set by the web server or are directly associated with the execution environment of the current script. Similar to the old array $HTTP_SERVER_VARS array (still valid, but deprecated).
$_GET
Variables submitted to the script via the URL request. Similar to the old array $HTTP_GET_VARS array (still valid, but deprecated).
$_POST
Submitted to the script via the HTTP POST method Variables. Similar to the old array $HTTP_POST_VARS array (still valid, but deprecated).
$_COOKIE
Variables submitted to the script via the HTTP Cookies method. Similar to the old array $HTTP_COOKIE_VARS array (still valid, but deprecated).
$_FILES
Variables submitted to the script via HTTP POST file upload. Similar to the old array $HTTP_POST_FILES array (still valid, but deprecated) .See POST method upload for details.
$_ENV
Variables submitted by the execution environment to the script. Similar to the old array $HTTP_ENV_VARS array (still valid, but deprecated).
$_REQUEST
Variables submitted to the script via GET, POST and COOKIE mechanisms, so this array is not trustworthy. The existence and order of all variables contained in this array are determined by Defined by the variables_order configuration directive in php.ini. This array has no direct corresponding version before PHP 4.1.0. See import_request_variables().
Since PHP 4.3.0, the file information in $_FILES does not No longer exists in $_REQUEST.
Note: When running in command line mode, this array will not contain the argv and argc entries; they already exist in the array $_SERVER.
$ _SESSION
Variables currently registered for the script session. Similar to the old array $HTTP_SESSION_VARS array (still valid, but deprecated).
$_SERVER['PHP_SELF']
The file name of the currently executing script is related to the document root. For example, using $_SERVER['PHP_SELF'] in a script with the URL address http://example.com/test.php/foo.bar will get /test.php/foo.bar This result. If PHP is run in command line mode, this variable is invalid.
$_SERVER['SERVER_NAME']
The name of the server host where the script is currently running .If the script is running on a virtual host, the name is determined by the value set by that virtual host. For example, at the URL address /test.php $_SERVER['SERVER_NAME'] will get this result.
The example code is as follows:
<?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 !!! ?>
In php 4.2.0 and subsequent versions, the default value of the php directive register_globals is off. This is a major change to php. Setting the value of register_globals to off will affect the validity of the predefined variable set in the global scope. For example, in order to get the value of DOCUMENT_ROOT, you will have to use $_SERVER['DOCUMENT_ROOT'] instead of $DOCUMENT_ROOT. For example, use $_GET['id'] instead of $id to get the id value from it, or use $_ENV['HOME '] to replace $HOME to obtain the value of the environment variable HOME.
Related recommendations:
Detailed explanation of PHP predefined variable examples
php predefined variables_PHP tutorial
The above is the detailed content of php predefined variable method. For more information, please follow other related articles on the PHP Chinese website!