PHP 预定义变量

  • PHP 预定义变量

    PHP为其运行的任何脚本提供了大量预定义变量。PHP提供了一组额外的预定义数组,其中包含来自Web服务器环境和用户输入的变量。这些新数组称为超级全局变量,以下所有变量在每个作用域内自动可用。
  • PHP 超级全局变量

    变量 描述
    $GLOBALS 包含对脚本全局范围内当前可用的每个变量的引用。此数组的键是全局变量的名称。
    $_SERVER 这是一个包含标题,路径和脚本位置等信息的数组。此数组中的条目由Web服务器创建。无法保证每个Web服务器都能提供这些服务。有关所有SERVER变量的完整列表,请参见下面。
    $_GET 通过HTTP GET方法传递给当前脚本的关联变量数组。
    $_POST 通过HTTP POST方法传递给当前脚本的关联变量数组。
    $_FILES 通过HTTP POST方法上载到当前脚本的关联数组项。
    $_REQUEST 由$_GET,$_POST和$_COOKIE的内容组成的关联数组。
    $_COOKIE 通过HTTP cookie传递给当前脚本的关联变量数组。
    $_SESSION 包含当前脚本可用的会话变量的关联数组。
    $_ENV 包含当前系统环境变量的数组
    $php_errormsg $php_errormsg是一个变量,包含PHP生成的最后一条错误消息的文本。
  • PHP 服务器变量:$_SERVER

    变量 描述
    $_SERVER [ 'PHP_SELF'] 当前正在执行的脚本的文件名,相对于文档根目录
    $_SERVER [ 'argv'] 传递给脚本的参数数组。在命令行上运行脚本时,这将提供对命令行参数的访问。通过GET方法调用时,它将包含查询字符串。
    $_SERVER [ 'argc'] 包含在命令行上运行时传递给脚本的命令行参数的数量。
    $_SERVER [ 'GATEWAY_INTERFACE'] 服务器正在使用的CGI规范的哪些版本; 如'CGI/1.1'。
    $_SERVER [ 'SERVER_ADDR'] 当前脚本正在执行的服务器的IP地址。
    $_SERVER [ 'SERVER_NAME'] 当前脚本正在其下执行的服务器主机的名称。如果脚本在虚拟主机上运行,​​则这将是为该虚拟主机定义的值。
    $_SERVER [ 'SERVER_SOFTWARE'] 服务器标识字符串,在响应请求时在标头中给出。
    $_SERVER [ 'SERVER_PROTOCOL'] 请求页面的信息协议的名称和版本; 如'HTTP/1.0';
    $_SERVER [ 'REQUEST_METHOD'] 使用了哪种请求方法来访问页面; 如'GET','HEAD','POST','PUT'。
    $_SERVER [ 'REQUEST_TIME'] 请求开始的时间戳。
    $_SERVER [ 'QUERY_STRING'] 查询字符串(如果有),通过该字符串访问页面。
    $_SERVER [ 'DOCUMENT_ROOT'] 正在执行当前脚本的文档根目录,如服务器配置文件中所定义。
    $_SERVER [ 'HTTP_ACCEPT'] 当前请求的Accept:标头的内容(如果有)。
    $_SERVER [ 'HTTP_ACCEPT_CHARSET'] Accept-Charset的内容:来自当前请求的标头(如果有)。示例:'iso-*-*,utf-*'。
    $_SERVER [ 'HTTP_ACCEPT_ENCODING'] 当前请求的Accept-Encoding:标头的内容(如果有)。示例:'gzip'。
    $_SERVER [ 'HTTP_ACCEPT_LANGUAGE'] Accept-Language:当前请求的标头内容(如果有)。示例:'en'。
    $_SERVER [ 'HTTP_CONNECTION'] 连接的内容:来自当前请求的标头(如果有)。示例:'Keep-Alive'。
    $_SERVER [ 'HTTP_HOST'] 主机的内容:来自当前请求的标头(如果有)。
    $_SERVER [ 'HTTP_REFERER'] 将用户代理引用到当前页面的页面地址(如果有)。
    $_SERVER [ 'HTTP_USER_AGENT'] 这是一个字符串,表示正在访问该页面的用户代理(浏览器,操作系统)。一个典型的例子是:Mozilla/.[en](X; U; Linux .. i)。
    $_SERVER [ 'HTTPS'] 如果通过HTTPS协议查询脚本,则设置为非空值。
    $_SERVER [ 'REMOTE_ADDR'] 用户正在查看当前页面的IP地址。
    $_SERVER [ 'REMOTE_HOST'] 用户正在查看当前页面的主机名。反向dns查找基于用户的REMOTE_ADDR。
    $_SERVER [ 'REMOTE_PORT'] 用户计算机上用于与Web服务器通信的端口。
    $_SERVER [ 'SCRIPT_FILENAME'] 当前正在执行的脚本的绝对路径名。
    $_SERVER [ 'SERVER_ADMIN'] Web服务器配置文件中为SERVER_ADMIN(for Apache)指令赋予的值。
    $_SERVER [ 'SERVER_PORT'] 服务器计算机上的端口正由Web服务器用于通信。对于默认设置,这将是'80'。
    $_SERVER [ 'SERVER_SIGNATURE'] 包含服务器版本和虚拟主机名的字符串,如果启用,则添加到服务器生成的页面。
    $_SERVER [ 'PATH_TRANSLATED'] 基于文件系统的当前脚本的路径。
    $_SERVER [ 'SCRIPT_NAME'] 包含当前脚本的路径。这对需要指向自己的页面很有用。
    $_SERVER [ 'REQUEST_URI'] 为访问此页面而给出的URI; 例如,'/index.html'。
    $_SERVER [ 'PHP_AUTH_DIGEST'] 在Apache下运行作为模块执行摘要HTTP身份验证时,此变量设置为客户端发送的“授权”标头。
    $_SERVER [ 'PHP_AUTH_USER'] 当在Apache或IIS(PHP 上的ISAPI)下运行作为执行HTTP身份验证的模块时,此变量将设置为用户提供的用户名。
    $_SERVER [ 'PHP_AUTH_PW'] 当在Apache或IIS(PHP 上的ISAPI)下作为执行HTTP身份验证的模块运行时,此变量将设置为用户提供的密码。
    $_SERVER [ 'AUTH_TYPE'] 在Apache下作为执行HTTP身份验证的模块运行时,此变量设置为身份验证类型。