PHP为其运行的任何脚本提供了大量预定义变量. PHP提供了一组额外的预定义数组,其中包含来自Web服务器环境和用户输入的变量.这些新数组称为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是一个包含标题,路径和脚本位置等信息的数组.此阵列中的条目由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身份验证的模块,此变量设置为身份验证类型. |