PHP中$_SERVER参数用法总结

  最近没事,深入研究$_SERVER使用方法,做了一个PHP信息查看器

  

$_SERVER['PHP_SELF']
  #当前执行脚本的文件名,与document root有关。例如,在地址为http://example.com/foo/bar.php的脚本中使用 $_SERVER['PHP_SELF']将得到/foo/bar.php。__FILE__常量包含当前(例如包含)文件的完整路径和文件名。从PHP4.3.0版本开始,如果 PHP以命令行模式运行,这个变量将包含脚本名。之前的版本该变量不可用。
- $_SERVER['argv']
  #传递给该脚本的参数的数组。脚本以命令行方式运行时,argv变量传递给程序C语言样式的命令行参数。当通过GET方式调用时,该变量包含query string。
- $_SERVER['argc']
  #包含命令行模式下传递给该脚本的参数的数目(如果运行在命令行模式下)。
- $_SERVER['GATEWAY_INTERFACE']
  #服务器使用的CGI规范的版本;例如,“CGI/1.1”。
- $_SERVER['SERVER_ADDR']
  #当前运行脚本所在的服务器的IP地址。
- $_SERVER['SERVER_NAME']
  #当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。
  #Note: 在Apache2里,必须设置 UseCanonicalName=On和ServerName。否则该值会由客户端提供,就有可能被伪造。上下文有安全性要求的环境里,不应该依赖此值。
- $_SERVER['SERVER_SOFTWARE']
  #服务器标识字符串,在响应请求时的头信息中给出。
- $_SERVER['SERVER_PROTOCOL']
  #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
- $_SERVER['REQUEST_METHOD']
  #访问页面使用的请求方法;例如,“GET”, “HEAD”,“POST”,“PUT”。
  #Note:如果请求方法为HEAD,PHP脚本将在发送Header头信息之后终止(这意味着在产生任何输出后,不再有输出缓冲)。
- $_SERVER['REQUEST_TIME']
  #请求开始时的时间戳。从PHP5.1.0起可用。
- $_SERVER['REQUEST_TIME_FLOAT']
  #请求开始时的时间戳,微秒级别的精准度。自PHP5.4.0开始生效。
- $_SERVER['QUERY_STRING']
  #query string(查询字符串),如果有的话,通过它进行页面访问。
- $_SERVER['DOCUMENT_ROOT']
  #当前运行脚本所在的文档根目录。在服务器配置文件中定义。
- $_SERVER['HTTP_ACCEPT']
  #当前请求头中Accept: 项的内容,如果存在的话。
- $_SERVER['HTTP_ACCEPT_CHARSET']
  #当前请求头中Accept-Charset: 项的内容,如果存在的话。例如:“iso-8859-1,*,utf-8”。
- $_SERVER['HTTP_ACCEPT_ENCODING']
  #当前请求头中Accept-Encoding: 项的内容,如果存在的话。例如:“gzip”。
- $_SERVER['HTTP_ACCEPT_LANGUAGE']
  #当前请求头中Accept-Language: 项的内容,如果存在的话。例如:“en”。
- $_SERVER['HTTP_CONNECTION']
  #当前请求头中Connection: 项的内容,如果存在的话。例如:“Keep-Alive”。
- $_SERVER['HTTP_HOST']
  #当前请求头中Host: 项的内容,如果存在的话。
- $_SERVER['HTTP_REFERER']
  #引导用户代理到当前页的前一页的地址(如果存在)。由user agent设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER的功能。简言之,该值并不可信。
- $_SERVER['HTTP_USER_AGENT']
  #当前请求头中 User-Agent: 项的内容,如果存在的话。该字符串表明了访问该页面的用户代理的信息。一个典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。除此之外,你可以通过get_browser()来使用该值,从而定制页面输出以便适应用户代理的性能。
- $_SERVER['HTTPS']
  #如果脚本是通过HTTPS协议被访问,则被设为一个非空的值。
  #Note: 注意当使用IIS上的ISAPI方式时,如果不是通过HTTPS协议被访问,这个值将为off。
- $_SERVER['REMOTE_ADDR']
  #浏览当前页面的用户的IP地址。
- $_SERVER['REMOTE_HOST']
  #浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的REMOTE_ADDR。
  #Note: 你的服务器必须被配置以便产生这个变量。例如在Apache中,你需要在httpd.conf中设置HostnameLookups On来产生它。参见 gethostbyaddr()。
- $_SERVER['REMOTE_PORT']
  #用户机器上连接到Web服务器所使用的端口号。
- $_SERVER['REMOTE_USER']
  #经验证的用户
- $_SERVER['REDIRECT_REMOTE_USER']
  #验证的用户,如果请求已在内部重定向。
- $_SERVER['SCRIPT_FILENAME']
  #当前执行脚本的绝对路径。
  #Note:如果在命令行界面(Command Line Interface, CLI)使用相对路径执行脚本,例如 file.php 或 ../file.php,那么 $_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。
- $_SERVER['SERVER_ADMIN']
  #该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。
- $_SERVER['SERVER_PORT']
  #Web 服务器使用的端口。默认值为“80”。如果使用SSL安全连接,则这个值为用户设置的HTTP端口。
  #Note:在Apache2里,为了获取真实物理端口,必须设置UseCanonicalName=On 以及UseCanonicalPhysicalPort=On。否则此值可能被伪造,不一定会返回真实端口值。上下文有安全性要求的环境里,不应该依赖此值。
- $_SERVER['SERVER_SIGNATURE']
  #包含了服务器版本和虚拟主机名的字符串。
- $_SERVER['PATH_TRANSLATED']
  #当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。
  #Note: 自PHP4.3.2起,PATH_TRANSLATED在Apache2 SAPI模式下不再和Apache1一样隐含赋值,而是若Apache不生成此值,PHP便自己生成并将其值放入SCRIPT_FILENAME服务器常量中。这个修改遵守了CGI规范,PATH_TRANSLATED仅在PATH_INFO被定义的条件下才存在。 Apache2用户可以在httpd.conf中设置AcceptPathInfo=On来定义PATH_INFO。
- $_SERVER['SCRIPT_NAME']
  #包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
- $_SERVER['REQUEST_URI']
  #URI用来指定要访问的页面。例如 “/index.html”。
- $_SERVER['PHP_AUTH_DIGEST']
  #当作为Apache模块运行时,进行HTTP Digest认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP头内容(以便作进一步的认证操作)。
- $_SERVER['PHP_AUTH_USER']
  #当PHP运行在Apache或IIS(PHP5是ISAPI)模块方式下,并且正在使用HTTP认证功能,这个变量便是用户输入的用户名。
- $_SERVER['PHP_AUTH_PW']
  #当PHP运行在Apache或IIS(PHP5是ISAPI)模块方式下,并且正在使用HTTP认证功能,这个变量便是用户输入的密码。
- $_SERVER['AUTH_TYPE']
  #当PHP运行在Apache模块方式下,并且正在使用HTTP认证功能,这个变量便是认证的类型。
- $_SERVER['PATH_INFO']
  #包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息,如果存在的话。例如,如果当前脚本是通过 URL http://www.example.com/php/path_info.php/some/stuff?foo=bar被访问,那么$_SERVER['PATH_INFO']将包含 /some/stuff。
- $_SERVER['ORIG_PATH_INFO']
  #在被PHP处理之前,“PATH_INFO”的原始版本。

  演示测试:http://www.sdfymj.com/ua.php

猜你喜欢

转载自www.cnblogs.com/68xi/p/12383014.html
今日推荐