PHP - 预定义变量

PHP为其运行的任何脚本提供了大量预定义变量. PHP提供了一组额外的预定义数组,其中包含来自Web服务器环境和用户输入的变量.这些新数组称为superglobals :

以下所有变量在每个范围内自动可用.

PHP Superglobals

Sr.No变量和变量说明
1

$ GLOBALS

包含对脚本全局范围内当前可用的每个变量的引用.这个数组的键是全局变量的名称.

2

$ _ SERVER

这是一个包含标题等信息的数组,路径和脚本位置.此阵列中的条目由Web服务器创建.无法保证每个Web服务器都能提供这些服务.有关所有SERVER变量的完整列表,请参阅下一节.

3

$ _ GET

传递给当前的变量的关联数组脚本通过HTTP GET方法.

4

$ _ POST

通过HTTP POST方法传递给当前脚本的关联变量数组.

5

$ _ FILES

通过HTTP POST方法上传到当前脚本的关联项目数组.

6

$ _ REQUEST

一个关联数组,由$ _GET,$ _POST和$ _COOKIE的内容组成.

7

$ _ COOKIE

传递给当前脚本的关联变量数组通过HTTP cookies.

8

$ _ SESSION

一个关联数组,包含当前脚本可用的会话变量.

9

$ _ PHP_SELF

包含PHP脚本文件名的字符串,在其中调用它.

10

$ php_errormsg

$ php_errormsg是一个变量,包含PHP生成的最后一条错误消息的文本.

服务器变量:$ _SERVER

$ _ SERVER是一个包含标题,路径和脚本位置等信息的数组.此阵列中的条目由Web服务器创建.无法保证每个Web服务器都能提供其中任何一个.

Sr.No变量&说明
1

$ _SERVER ['PHP_SELF']

当前正在执行的脚本的文件名,相对于文档根目录

2

$ _ SERVER ['argv']

传递给脚本的参数数组.在命令行上运行脚本时,这将提供对命令行参数的C样式访问.当通过GET方法调用时,它将包含查询字符串.

3

$ _ SERVER ['argc']

包含数字如果在命令行上运行,则传递给脚本的命令行参数.

4

$ _ SERVER ['GATEWAY_INTERFACE']

什么修订版服务器正在使用的CGI规范;即'CGI/1.1'.

5

$ _ SERVER ['SERVER_ADDR']

当前服务器的IP地址脚本正在执行.

6

$ _ SERVER ['SERVER_NAME']

执行当前脚本的服务器主机的名称.如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值.

7

$ _ SERVER ['SERVER_SOFTWARE']

服务器标识字符串,在响应请求时在标题中给出.

8

$ _ SERVER ['SERVER_PROTOCOL']

名称和版本请求页面的信息协议;即'HTTP/1.0';

9

$ _ SERVER ['REQUEST_METHOD']

使用哪种请求方法来访问页面;即'GET','HEAD','POST','PUT'.

10

$ _ SERVER ['REQUEST_TIME']

请求开始的时间戳.自PHP 5.1.0起可用.

11

$ _ SERVER ['QUERY_STRING']

查询字符串(如果有),通过它页面已被访问.

12

$ _ SERVER ['DOCUMENT_ROOT']

执行当前脚本的文档根目录,如在服务器的配置文件中定义.

13

$ _ SERVER ['HTTP_ACCEPT']

来自当前请求的Accept:标头的内容,如果有的话.

14

$ _ SERVER ['HTTP_ACCEPT_CHARSET']

来自当前请求的Accept-Charset:标头的内容,如果有的话是一个.示例:'iso-8859-1,*,utf-8'.

15

$ _ SERVER ['HTTP_ACCEPT_ENCODING']

目录当前请求的Accept-Encoding:标头(如果有).示例:'gzip'.

16

$ _ SERVER ['HTTP_ACCEPT_LANGUAGE']

Accept-Language的内容:来自当前的标题请求,如果有的话.示例:'en'.

17

$ _ SERVER ['HTTP_CONNECTION']

连接的内容:来自当前请求的标头,如果有的话.示例:'Keep-Alive'.

18

$ _ SERVER ['HTTP_HOST']

主机内容:来自当前的标头请求,如果有的话.

19

$ _ SERVER ['HTTP_REFERER']

将用户代理引用到当前页面的页面地址(如果有) .

20

$ _ SERVER ['HTTP_USER_AGENT']

这是一个字符串,表示正在访问该页面的用户代理.一个典型的例子是:Mozilla/4.5 [en](X11; U; Linux 2.2.9 i586).

21

$ _ SERVER ['HTTPS']

如果通过HTTPS协议查询脚本,则设置为非空值.

22

$ _ SERVER ['REMOTE_ADDR']

用户查看当前页面的IP地址.

23

$ _ SERVER ['REMOTE_HOST']

用户从中查看当前页面的主机名.反向dns查找基于用户的REMOTE_ADDR.

24

$ _ SERVER ['REMOTE_PORT']

正在使用的端口在用户的机器上与Web服务器通信.

25

$ _ SERVER ['SCRIPT_FILENAME']

当前的绝对路径名执行脚本.

26

$ _ SERVER ['SERVER_ADMIN']

Web服务器配置文件中SERVER_ADMIN(适用于Apache)指令的值.

27

$ _ SERVER ['SERVER_PORT']

Web服务器用于通信的服务器计算机上的端口.对于默认设置,这将是'80'.

28

$ _ SERVER ['SERVER_SIGNATURE']

包含服务器版本的字符串添加到服务器生成的页面的虚拟主机名(如果已启用).

29

$ _ SERVER ['PATH_TRANSLATED']

基于文件系统当前脚本的路径.

30

$ _ SERVER ['SCRIPT_NAME']

包含当前脚本的路径.这对需要指向自己的页面非常有用.

31

$ _ SERVER ['REQUEST_URI']

为了访问而给出的URI这一页;例如,'/index.html'.

32

$ _ SERVER ['PHP_AUTH_DIGEST']

在Apache下作为模块运行时执行摘要HTTP身份验证此变量设置为客户端发送的"授权"标头.

33

$ _ SERVER ['PHP_AUTH_USER']

当在Apache或IIS(PHP 5上的ISAPI)下运行作为执行HTTP身份验证的模块时,此变量设置为用户提供的用户名.

34

$ _ SERVER ['PHP_AUTH_PW']

当在Apache或IIS(PHP 5上的ISAPI)下运行作为执行HTTP身份验证的模块时,此变量将设置为用户提供的密码.

35

$ _SERVER ['AUTH_TYPE']

在Apache作为执行HTTP身份验证的模块,此变量设置为身份验证类型.