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的用法。