PHP预定义变量


PHP为它运行的任何脚本提供了大量的预定义变量。PHP提供了一组额外的预定义数组,包含来自Web服务器环境的变量和用户输入。这些新的阵列被称为超全球 -

以下所有变量都可以在每个范围内自动获得。

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 cookie传递给当前脚本的变量的关联数组。
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']
来自当前请求的Connection:头的内容(如果有的话)。例如:'保持活跃'。
18 $_SERVER['HTTP_HOST']
当前请求中的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身份验证时,此变量设置为身份验证类型。