PHP 预定义变量

PHP $_SERVER 变量是一个数组,其中包含服务器和执行环境信息,例如标头、路径和脚本位置。该数组中的条目由 Web 服务器创建。无法保证每个网络服务器都会提供其中任何一个。服务器可能会省略一些,或提供此处未列出的其他键。

描述
'PHP_SELF'当前执行脚本的文件名,相对于文档根目录。例如,地址 http://example.com/foo/bar.php 的脚本中的 $_SERVER['PHP_SELF'] 将为 /foo/bar.php。 __FILE__ 常量包含当前(即包含的)文件的完整路径和文件名。如果 PHP 作为命令行处理器运行,则此变量包含脚本名称。
'argv'传递给脚本的参数数组。当脚本在命令行上运行时,这提供了对命令行参数的 C 风格访问。当通过 GET 方法调用时,它将包含查询字符串。
'argc'包含传递给脚本的命令行参数的数量 (如果在命令行上运行)。
'GATEWAY_INTERFACE'服务器正在使用的 CGI 规范的哪个版本;例如'CGI/1.1'。
'SERVER_ADDR'当前脚本执行所在服务器的IP地址。
'SERVER_NAME'当前脚本正在其下执行的服务器主机的名称。如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值。
注意:在 Apache 2 下,您必须设置 UseCanonicalName = On 和 ServerName。否则,该值反映客户端提供的主机名,该主机名可能被欺骗。在与安全相关的上下文中依赖此值是不安全的。
'SERVER_SOFTWARE'服务器标识字符串,在响应时在标头中给出
'SERVER_PROTOCOL'请求页面的信息协议的名称和版本;例如'HTTP/1.0';
'REQUEST_METHOD'访问页面使用了哪种请求方法;例如'GET', 'HEAD', 'POST', 'PUT'。
注意: PHP 脚本在发送 header 后终止(这意味着在没有输出缓冲的情况下生成任何输出后),如果请求方法为 HEAD。
'REQUEST_TIME'请求开始的时间戳。
'REQUEST_TIME_FLOAT'请求开始的时间戳,精度为微秒。
'QUERY_STRING'查询访问页面所通过的字符串(如果有)。
'DOCUMENT_ROOT'当前脚本在其下执行的文档根目录(如定义)在服务器的配置文件中。
'HTTP_ACCEPT'当前请求的 Accept: 标头的内容(如果有)。
'HTTP_ACCEPT_CHARSET'当前请求的 Accept-Charset: 标头的内容(如果有)。示例:'iso-8859-1,*,utf-8'。
'HTTP_ACCEPT_ENCODING'Accept-Encoding: 标头的内容当前请求(如果有)。示例:'gzip'。
'HTTP_ACCEPT_LANGUAGE'Accept-Language 的内容:当前请求中的标头(如果有)。示例:'en'。
'HTTP_CONNECTION'连接内容:当前请求的标头(如果有)。示例:'Keep-Alive'。
'HTTP_HOST'主机内容:当前请求的标头(如果有)。
'HTTP_REFERER'将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此项,有些用户代理提供了修改 HTTP_REFERER 的功能。简而言之,它确实不可信。
'HTTP_USER_AGENT'用户代理的内容:来自当前请求的标头(如果有) 。这是一个字符串,表示正在访问该页面的用户代理。典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。除此之外,该值可以与 get_browser() 一起使用,以根据用户代理的功能定制页面的输出.
'HTTPS'如果通过 HTTPS 协议查询脚本,则设置为非空值。
'REMOTE_ADDR'用户查看当前页面的 IP 地址。
'REMOTE_HOST'用户查看当前页面的主机名。反向 DNS 查找基于用户的 REMOTE_ADDR。
注意:您的 Web 服务器必须配置为创建此变量。例如,在 Apache 中,您需要 httpd.conf 中的 HostnameLookups On 才能存在。另请参阅 gethostbyaddr()
'REMOTE_PORT'用户计算机上用于与 Web 服务器通信的端口。
'REMOTE_USER'经过身份验证的用户。
'REDIRECT_REMOTE_USER'经过身份验证的用户(如果请求是内部重定向的)。
'SCRIPT_FILENAME'当前执行脚本的绝对路径名。
注意:如果使用 CLI 执行脚本,则为相对路径,例如 file.php 或 ../file .php, $_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。
'SERVER_ADMIN'赋予 SERVER_ADMIN 的值(对于 Apache)Web 服务器配置文件中的指令。如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值。
'SERVER_PORT'服务器上的端口Web 服务器使用计算机进行通信。对于默认设置,这将为"80";例如,使用 SSL 会将其更改为您定义的安全 HTTP 端口。
注意:在 Apache 2 下,您必须设置 UseCanonicalName = On,以及 UseCanonicalPhysicalPort = On为了获取物理(真实)端口,否则,该值可能会被欺骗,并且可能会也可能不会返回物理端口值。在与安全相关的上下文中依赖此值是不安全的。
'SERVER_SIGNATURE'包含服务器版本和虚拟主机名的字符串添加到服务器生成的页面(如果启用)。
'PATH_TRANSLATED'基于文件系统(不是文档根)的当前脚本路径,之后服务器已完成任何虚拟到真实的映射。
注意:Apache 2 用户可以在 httpd.conf 中使用 AcceptPathInfo = On 来定义 PATH_INFO。
'SCRIPT_NAME'包含当前脚本的路径。这对于需要指向自身的页面很有用。 __FILE__ 常量包含当前(即包含的)文件的完整路径和文件名。
'REQUEST_URI'给出的 URI访问此页面;例如,"/index.html"。
'PHP_AUTH_DIGEST'在进行摘要式 HTTP 身份验证时,此变量设置为发送的"Authorization"标头由客户端(应用于进行适当的验证)。
'PHP_AUTH_USER'进行 HTTP 身份验证时,此变量设置为用户名由用户提供。
'PHP_AUTH_PW'进行 HTTP 身份验证时,此变量设置为用户提供的密码。
'AUTH_TYPE'进行 HTTP 身份验证时,此变量设置为身份验证类型。
'PATH_INFO'包含任何客户端提供的路径名信息,该信息位于实际脚本文件名后面但位于查询字符串之前(如果有)。例如,如果当前脚本是通过 URL http://www.example.com/php/path_info.php/some/stuff?foo=bar 访问的,则 $_SERVER['PATH_INFO' ] 将包含 /some/stuff。
'ORIG_PATH_INFO'PHP 处理之前的'PATH_INFO'原始版本。

示例:$_SERVER 示例

下面的示例演示了上述概念。

<?php
echo $_SERVER['SERVER_NAME'];
?> 

上述代码的输出将类似于:

www.yxjc123.com