php中的SERVER变量

来源:互联网 发布:编程命名规则 编辑:程序博客网 时间:2024/05/16 17:05

,$_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----