目录
1 超全局变量简介
- 超全局变量:在全部作用域中始终可用的内置变量。
- 默认情况下,所有的超全局变量都是可用的。但是,有一些指令会影响这种可用性。更多信息,参见文档 variables_order.
- 在函数或类方法中,超全局变量不能被用作可变变量。
2 超全局变量一览及其功能
超全局变量功能一览表:
| 参数名 | 功能 | 
|---|---|
| $GLOBALS | 引用全局作用域中可用的全部变量 | 
| $_SERVER | 服务器和执行环境信息 | 
| $_GET | 通过URL参数传递当前脚本的变量的数组 | 
| $_POST | 通过URL参数传递当前脚本的变量的数组 | 
| $_FILES | 通过POST方式上传到当前脚本的文件数据 | 
| $_REQUEST | HTTP Request 变量 | 
| $_SESSION | 当前脚本可用 Session 变量的数组 | 
| $_ENV | 通过环境方式传递给当前脚本的变量的数组 | 
| $_COOKIE | 通过HTTPCookies方式床底给当前脚本的变量的数组 | 
| $php_errormsg | 前一个错误信息 | 
| $http_response_header | HTTP 响应头 | 
| $argc | 传递给脚本的参数数目 | 
| $argv | 传递给脚本的参数数组 | 
2.1 $_SERVER
- 内容:是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。
- 注意:这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
- 获取$_SERVER部分关键字信息,所有关键字说明请查看官网手册。
<?php 
echo $_SERVER['PHP_SELF'];			//当前执行脚本的文件名
echo "<br>";
echo $_SERVER['SERVER_NAME'];		//当前运行脚本所在的服务器的主机名。
echo "<br>";
echo $_SERVER['HTTP_HOST'];			//当前请求头中 Host: 项的内容
echo "<br>";
echo $_SERVER['HTTP_REFERER'];		//引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];	
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];		//包含当前脚本的路径。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
?>
2.2 $_GET 与 $_POST
- $_GET被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method=“get”。
- $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method=“post”。
- 用法实例
<html>
<body>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
 
<?php 
$name = $_POST['fname']; 
echo $name; 
?>
</body>
</html>
3 总结
- 了解预定义超全局变量的种类和作用。
- 了解 G E T 和 _GET和 GET和_POST的用法。
4 参考文献
- 官方文档:《预定义变量》
- 菜鸟教程:《PHP超级全局变量》










