,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串

2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI

3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径

4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名

实例:
1,http://www.biuuu.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = ""
$_SERVER["REQUEST_URI"] = "/"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

2,http://www.biuuu.com/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = "p=222"
$_SERVER["REQUEST_URI"] = "/?p=222"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

3,http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = "p=222&q=biuuu"
$_SERVER["REQUEST_URI"] = "/index.php?p=222&q=biuuu"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.biuuu.com后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名

当前url:"http://".$_SERVER[''HTTP_HOST''].$_SERVER[''PHP_SELF'']

总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。

1.$_SERVER[''HTTP_ACCEPT_LANGUAGE'']//浏览器语言

显示:zh-cn

2.$_SERVER[''REMOTE_ADDR''] //当前用户 IP 。

显示:127.0.0.1

3.$_SERVER[''REMOTE_HOST''] //当前用户主机名

显示:

4$_SERVER[''REQUEST_URI''] //URL

显示:/test.php

5$_SERVER[''REMOTE_PORT''] //端口。

显示:3864

6$_SERVER[''SERVER_NAME''] //服务器主机的名称。

显示:127.0.0.1

7$_SERVER[''PHP_SELF'']//正在执行脚本的文件名

显示:/test.php

8$_SERVER[''argv''] //传递给该脚本的参数。

显示:ARRAY

9$_SERVER[''argc''] //传递给程序的命令行参数的个数。

显示:0

10$_SERVER[''GATEWAY_INTERFACE'']//CGI 规范的版本。

显示: CGI/1.1

11$_SERVER[''SERVER_SOFTWARE''] //服务器标识的字串

显示:Apache/2.0.52 (Win32) PHP/5.2.1

12$_SERVER[''SERVER_PROTOCOL''] //请求页面时通信协议的名称和版本

显示:HTTP/1.1

13$_SERVER[''REQUEST_METHOD'']//访问页面时的请求方法

显示:GET

14$_SERVER[''QUERY_STRING''] //查询(query)的字符串。

显示:

15$_SERVER[''DOCUMENT_ROOT''] //当前运行脚本所在的文档根目录

显示:D:/Program Files/Apache/www

16$_SERVER[''HTTP_ACCEPT''] //当前请求的 Accept: 头部的内容。

显示:**

17----

18----gzip, deflate

19----Keep-Alive

20----10.145.40.150:8080

21----http://10.145.40.150:8080/

22----Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

23----

24----D:/Program Files/Apache/www/text.php

25----w@w.com

26----8080

27----

Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080

28----

29----/text.php

30----

31----

32----




<?php

echo ''documentroot:''.$_SERVER[''DOCUMENT_ROOT''].''<br>''; //根目录,在apache的配置文件里定义:httpd.conf 比如:DocumentRoot "D:/work/php_root"
echo ''httphost:''.$_SERVER[''HTTP_HOST''].''<br>'';  //域名,比如:localhost
echo ''phpself:''.$_SERVER[''PHP_SELF''].''<br>'';   // 从根目录到文件本身的路径
echo ''script filename''.$_SERVER[''SCRIPT_FILENAME''].''<br>'';  //documentroot+phpself
echo ''request uri''.$_SERVER[''REQUEST_URI''].''<br>'';  //从根目录开始所有的URL字符串,包括问号之后的字符
echo ''request method:''.$_SERVER[''REQUEST_METHOD''].''<br>'';  //请求的方法
echo ''name:''.$_REQUEST[''name''].''<br>'';  //请求参数的值

?>

documentroot:F:\php\webs\210_phpTest
httphost:localhost:210
phpself:/ext/xtest/test.php
script filenameF:\php\webs\210_phpTest\ext\xtest\test.php
request uri/ext/xtest/test.php
request method:GET