$GLOBALS
引用全局作用域中全部的可用变量
<?php $x = 75; $y = 25; function test() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } test(); //100 echo $z; ?>
$_SERVER
保存关于报头、路径和脚本位置的信息
<?php //返回当前执行脚本的文件名 echo $_SERVER['PHP_SELF']; //返回当前执行脚本的相对路径 echo $_SERVER['SCRIPT_NAME']; //返回当前执行脚本的绝对路径 echo $_SERVER['SCRIPT_FILENAME']; //返回当前页面的 URI echo $_SERVER['SCRIPT_URI']; //返回当前脚本所在服务器的主机名(www.xxx.com) echo $_SERVER['SERVER_NAME']; //返回当前请求的Host头(www.xxx.com) echo $_SERVER['HTTP_HOST']; //返回当前页面完整的URL(不可靠,不是所有用户代理都支持)(www.xxx.com/xxx/yyy?zzz) echo $_SERVER['HTTP_REFERER']; //返回用户机器上连接到 Web 服务器所使用的端口号 echo $_SERVER['REMOTE_PORT']; //Web 服务器使用的端口。默认值为 “80” echo $_SERVER['SERVER_PORT']; //返回访问页面使用的请求方法(POST/GET) echo $_SERVER['REQUEST_METHOD']; //返回请求开始时的时间戳 echo $_SERVER['REQUEST_TIME']; //返回查询字符串,如果是通过查询字符串访问此页面 echo $_SERVER['QUERY_STRING']; //返回来自当前请求的请求头 echo $_SERVER['HTTP_ACCEPT']; //返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1) echo $_SERVER['HTTP_ACCEPT_CHARSET']; ?>
$_REQUEST
用于收集HTML表单提交的数据
<html> <body> <form method="post" action="test.php"> Name: <input type="text" name="fname"> <input type="submit"> </form> </body> </html>
test.php
<?php $name = $_REQUEST['fname']; echo $name; ?>
$_POST
广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。
也常用于传递变量。
上面那段test.php也可以用$_POST来写,因为metho是post
<?php $name = $_POST['fname']; echo $name; ?>
$_GET
如果method是get,我们也可以把test.php改成
<?php $name = $_GET['fname']; echo $name; ?>
除此之外$GET也可以用来收集URL中发送的数据
<a href="test_get.php?para1=test1¶2=test2">测试 $GET</a>
PHP
<?php echo "the first para is " . $_GET['para1'] . " and the second para is " . $_GET['para2']; ?>
除了上述超全局变量,还有以下超全局变量会被用到,先记录下来,以后再说。
$_FILES $_ENV $_COOKIE $_SESSION