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'] #管理员信息
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 认证功能,这个变量便是认证的类型
显示:
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
<?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 [email protected] 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---- |