PHP5超级全局
示例
以下是PHP5SuperGlobals
$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变量用于收集HTMLForm使用get方法提交的数据。
<?php
if(isset($_GET['username'])){
echo $_GET['username'];
}
//这将打印使用GET方法提交的名称为用户名的HTML字段的值
?>$_POST:此SuperGlobal变量用于收集HTMLForm使用post方法提交的数据。
<?php
if(isset($_POST['username'])){
echo $_POST['username'];
}
//这将打印使用POST方法提交的名称为用户名的HTML字段的值
?>$_FILES:此SuperGlobal变量通过HTTPPost方法保存上载文件的信息。
<?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
*/
?>