PHP - 预定义变量


PHP 为其运行的任何脚本提供了大量预定义变量。PHP 提供了一组附加的预定义数组,其中包含来自 Web 服务器、环境和用户输入的变量。这些新数组称为超全局数组 -

以下所有变量在每个作用域中都会自动可用。

PHP 超级全局变量

先生编号 变量和描述
1

$全局变量

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

2

$_SERVER

这是一个包含标头、路径和脚本位置等信息的数组。该数组中的条目由 Web 服务器创建。无法保证每个网络服务器都会提供其中任何一个。有关所有 SERVER 变量的完整列表,请参阅下一节。

3

$_GET

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

4

$_POST

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

5

$_文件

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

6

$_请求

由 $_GET、$_POST 和 $_COOKIE 的内容组成的关联数组。

7

$_COOKIE

通过 HTTP cookie 传递到当前脚本的变量关联数组。

8

$_会话

包含当前脚本可用的会话变量的关联数组。

9

$_PHP_SELF

包含调用它的 PHP 脚本文件名的字符串。

10

$php_errormsg

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

服务器变量:$_SERVER

$_SERVER 是一个包含标头、路径和脚本位置等信息的数组。该数组中的条目由 Web 服务器创建。无法保证每个网络服务器都会提供其中任何一个。

先生编号 变量和描述
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']

使用哪种请求方法访问该页面;即“获取”、“头部”、“发布”、“放置”。

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']

连接的内容:当前请求的标头(如果有)。示例:“保持活动”。

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 身份验证的模块运行时,此变量设置为身份验证类型。