超全局变量,是在全部作用域中始终可用的内置变量。
PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。
在函数或方法中无需执行 global $variable 来访问它们。
使编写程序更方便快捷。
$_GET:经由url请求提交到脚本的变量,变量等提交信息显示在地址栏,最大提交2kb数据
$_POST:经由http post请求将提交到脚本变量,变量信息不显示地址栏,默认提交2mb可以在php修改数据
$_REQUEST:经由GET,PSOT,COOKIE机制请求提交至脚本的变量,数组不值得信任,不建议去使用
$_FILES:经由http post 文件上传提交指本,文件处理详说,文件上传
$_COOKIE//
$_SESSION
$_SERVER:变量和当前web服务器设置有关,和当前脚本执行环境相关
$_ENV:执行环境提交到脚本的变量
$GLOBALS:当前脚本有效变量都在此,包括系统预定义和用户自定义变量
$_GET和$_POST提交在之前表单提交已经西说过,这里不再说明。
$_REQUEST:用于收集 HTML 表单提交的数据。
$GLOBALS:当前脚本有效变量,使用变量可以在脚本任意位置,包括函数内部可以直接使用,无需声明变量作用域
$a=2;$b=4;$c=6;//声明外部变量
function globals(){
$GLOBALS['z']=$GLOBALS['a']+$GLOBALS['b']*$GLOBALS['c'];//使用globals超全局变量
}
globals();//调用函数
echo $z;//超全局,当然外部同样可以调用
$_ENV:用于获取服务器端环境信息
$_SERVER:其中主要包含了HTTP请求行和消息头的信息,还有服务器相关的一些信息。
<?PHP
//遍历出数组,也可以使用键名输出指定内容
foreach($_SERVER as $key=>$val){
echo $key."=====>".$val."<BR>";
}
//单独调用键,调用相关信息输出
echo $_SERVER['SERVER_NAME'];//返回当前服务器主机名
echo $_SERVER['HTTP_HOST'];//返回当前请求的host头
echo $_SERVER['SERVER_ADDR'];//返回服务器ip
echo $_SERVER['PHP_SELF'];//返回当前执行脚本文件名
echo $_SERVER['REMOTE_ADDR'];//返回浏览当前页面用户IP
echo $_SERVER['REMOTE_PORT'];//返回用户连接web服务端的端口
预定义常量
__LINE__ 返回文件中的当前行号
__FILE__:返回当前文件的绝对路径(包含文件名)
__DIR__:返回当前文件的绝对路径(不包含文件名)
__FUNCTION__:返回当前函数(或方法)的名称