PHP5超级全局

示例

以下是PHP5 SuperGlobals

  • $GLOBALS

  • $_REQUEST

  • $_GET

  • $_POST

  • $_FILES

  • $_SERVER

  • $_ENV

  • $_COOKIE

  • $_SESSION

$GLOBALS:此SuperGlobal变量用于访问全局变量。

<?php    
$a = 10;    
function foo(){
    echo $GLOBALS['a'];
}    
//它将打印10个全局变量a
?>

$_REQUEST:此SuperGlobal变量用于收集HTML表单提交的数据。

<?php
if(isset($_REQUEST['user'])){
    echo $_REQUEST['user'];
}
//这将打印使用POST和/或GET MEthod提交的name = user的HTML字段的值
?>

$_GET:此SuperGlobal变量用于收集HTML Form使用get方法提交的数据。

<?php
if(isset($_GET['username'])){
    echo $_GET['username'];
}
//这将打印使用GET方法提交的名称为用户名的HTML字段的值
?>

$_POST:此SuperGlobal变量用于收集HTML Form使用post方法提交的数据。

<?php
if(isset($_POST['username'])){
    echo $_POST['username'];
}
//这将打印使用POST方法提交的名称为用户名的HTML字段的值
?>

$_FILES:此SuperGlobal变量通过HTTP Post方法保存上载文件的信息。

<?php
if($_FILES['picture']){
    echo "<pre>";
    print_r($_FILES['picture']);
    echo "</pre>";
}
/**
这将打印通过带有method='post和enctype='multipart/form data'的表单上载的名为picture的文件的详细信息
详细信息包括文件名、文件类型、临时文件位置、错误代码(如果上载文件时发生错误)和文件大小(以字节为单位)。

Array
(
    [picture] => Array
        (
            [0] => Array
                (
                    [name] => 400.png
                    [type] => image/png
                    [tmp_name] => /tmp/php5Wx0aJ
                    [error] => 0
                    [size] => 15726
                )
        )
)

*/
?>

$_SERVER:此SuperGlobal变量保存有关脚本,HTTP标头和服务器路径的信息。

<?php
    echo "<pre>";
    print_r($_SERVER);
    echo "</pre>";
    /**
    Will print the following details
    on my local XAMPP 
    Array
(
    [MIBDIRS] => C:/xampp/php/extras/mibs
    [MYSQL_HOME] => \xampp\mysql\bin
    [OPENSSL_CONF] => C:/xampp/apache/bin/openssl.cnf
    [PHP_PEAR_SYSCONF_DIR] => \xampp\php
    [PHPRC] => \xampp\php
    [TMP] => \xampp\tmp
    [HTTP_HOST] => localhost
    [HTTP_CONNECTION] => keep-alive
    [HTTP_CACHE_CONTROL] => max-age=0
    [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
    [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*;q=0.8
    [HTTP_ACCEPT_ENCODING] => gzip, deflate, sdch
    [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8
    [PATH] => C:\xampp\php;C:\ProgramData\ComposerSetup\bin;
    [SystemRoot] => C:\Windows
    [COMSPEC] => C:\Windows\system32\cmd.exe
    [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    [WINDIR] => C:\Windows
    [SERVER_SIGNATURE] => Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12 Server at localhost Port 80
    [SERVER_SOFTWARE] => Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12
    [SERVER_NAME] => localhost
    [SERVER_ADDR] => ::1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => ::1
    [DOCUMENT_ROOT] => C:/xampp/htdocs
    [REQUEST_SCHEME] => http
    [CONTEXT_PREFIX] => 
    [CONTEXT_DOCUMENT_ROOT] => C:/xampp/htdocs
    [SERVER_ADMIN] => postmaster@localhost
    [SCRIPT_FILENAME] => C:/xampp/htdocs/abcd.php
    [REMOTE_PORT] => 63822
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /abcd.php
    [SCRIPT_NAME] => /abcd.php
    [PHP_SELF] => /abcd.php
    [REQUEST_TIME_FLOAT] => 1469374173.88
    [REQUEST_TIME] => 1469374173
)
*/
?>

$_ENV:此SuperGlobal变量Shell环境变量详细说明了运行PHP的环境。

$_COOKIE:此SuperGlobal变量用于检索具有给定键的Cookie值。

<?php
$cookie_name = "data";
$cookie_value = "Foo Bar";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1天
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
}
else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "值是: " . $_COOKIE[$cookie_name];
}

/**
    Output
    Cookie 'data' is set!
    值是: Foo Bar
*/
?>

$_SESSION:此SuperGlobal变量用于设置和检索存储在服务器上的会话值。

<?php
//开始会议
session_start();
/**
    Setting the Session Variables
    that can be accessed on different
    pages on save server.
*/
$_SESSION["username"] = "John Doe";
$_SESSION["user_token"] = "d5f1df5b4dfb8b8d5f";
echo "Session is saved successfully";

/**
    Output
    Session is saved successfully
*/
?>