Home  >  Article  >  Backend Development  >  php predefined variable method

php predefined variable method

小云云
小云云Original
2017-11-15 15:10:101861browse

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 &#39;本文件路径和文件名为:&#39;.__FILE__.&#39;<br />&#39;;  
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 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn