http://wangyeba.com/Article/web01/web01html/201010/20101029095317.shtml 1,$_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 $_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容。 显示: 18 $_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容 显示:gzip,deflate 19 $_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。 显示:Keep-Alive 20 $_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容。 显示:127.0.0.1:8080 21 $_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址。 显示:http://127.0.0.1:8080/ 22 $_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。 显示: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 $_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off 显示: 24 $_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。 显示:D:/Program Files/Apache/www/test.php 25 $_SERVER['SERVER_ADMIN'] #管理员信息 显示:w@w.com 26 $_SERVER['SERVER_PORT'] #服务器所使用的端口 显示:8080 27 $_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。 显示:Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080 28 $_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。 显示: 29 $_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。 显示 :/test.php 30 $_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。 显示: 31 $_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。 显示: 32 $_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型 显示: 例子: <?php $c=1; $a=array($_SERVER['HTTP_ACCEPT_LANGUAGE'], $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_HOST'], $_SERVER['REQUEST_URI'], $_SERVER['REMOTE_PORT'], $_SERVER['SERVER_NAME'], $_SERVER['PHP_SELF'], $_SERVER['argv'], $_SERVER['argc'], $_SERVER['GATEWAY_INTERFACE'], $_SERVER['SERVER_SOFTWARE'], $_SERVER['SERVER_PROTOCOL'], $_SERVER['REQUEST_METHOD'], $_SERVER['QUERY_STRING'], $_SERVER['DOCUMENT_ROOT'], $_SERVER['HTTP_ACCEPT'], $_SERVER['HTTP_ACCEPT_CHARSET'], $_SERVER['HTTP_ACCEPT_ENCODING'], $_SERVER['HTTP_CONNECTION'], $_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'], $_SERVER['HTTP_USER_AGENT'], $_SERVER['HTTPS'], $_SERVER['SCRIPT_FILENAME'], $_SERVER['SERVER_ADMIN'], $_SERVER['SERVER_PORT'], $_SERVER['SERVER_SIGNATURE'], $_SERVER['PATH_TRANSLATED'], $_SERVER['SCRIPT_NAME'], $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['AUTH_TYPE']); foreach ($a as $key=>$b) { echo $c."----"; echo $b."<br>"; $c++; } ?> 显示结果: 1----zh-cn 2----10.145.40.150 3---- 4----/text.php 5----3867 6----10.145.40.150 7----/text.php 8----Array 9----0 10----CGI/1.1 11----Apache/2.0.52 (Win32) PHP/5.2.1 12----HTTP/1.1 13----GET 14---- 15----D:/Program Files/Apache/www 16----*/* 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----