2.2.5 PHP的预定义变量
PHP提供了大量的预定义变量,可以在程序或文件的任何地方使用它们。这些变量大多数依赖于服务器的版本及其配置。本书主要讲述PHP5的预定义变量,这些预定义变量和以前的版本有些不同,有兴趣的读者可自行了解。下面是PHP中一些常用的预定义变量。
❑$GLOBALS:包含指向当前程序中全局范围内有效的变量,它是一个数组,该数组的索引(或键名)就是全局变量的名称。
❑$_SERVER:该全局变量是一个包含诸如头信息、路径和脚本位置的数组。常见的$_SERVER的元素包括PHP_SELF(当前正在执行的脚本的文件名)、SERVER_ADD(当前执行脚本所在服务器的IP地址)、SERVER_NAME(当前执行脚本所在服务器主机的名称)、DOCUMENT_ROOT(当前脚本所在文档的根目录)、SCRIPT_FILENAME(当前执行脚本的绝对路径)、SCRIPT_NAME(当前脚本的路径)、HTTP_REFERER(链接到当前页面的前一页面的URL)、REQUEST_URI(访问此页面所需的URI)等。
❑$_GET:通过HTTP的GET方法提交至脚本的表单变量。
❑$_POST:通过HTTP的POST方法提交至脚本的表单变量。
❑$_FILE:通过HTTP的FILE文件上传提交至脚本的变量。
❑$_COOKIE:通过HTTP的Cookies方法提交至脚本的变量。
下面通过代码2-7来了解这些变量的使用。其执行结果如图2-7所示。
代码2-7 PHP的预定义变量2-7.php
01 <?php
02 $a="test string";
03 echo"通过\$GLOBALS来取变量值:".$GLOBALS['a'];//输出变量a的值
04 echo"<br/>";
05 echo"<br/>";
06
07 echo"当前执行脚本的文件名:".$_SERVER['PHP_SELF'];//输出文件名
08 echo"<br/>";
09 echo"<br/>";
10
11 echo"当前执行脚本所在的根目录:".$_SERVER['DOCUMENT_ROOT'];//输出根目录
12 echo"<br/>";
13 echo"<br/>";
14
15 echo"当前执行脚本的绝对路径:".$_SERVER['SCRIPT_FILENAME'];//输出文件绝对路径
16 echo"<br/>";
17 echo"<br/>";
18 ?>
【代码解析】第3行通过$GLOBALS['a']来获取变量$a的值,$a在第2行已经定义过。第7行、第11行和第15行则通过$_SERVER获取当前脚本的一些位置信息。