PHP $_SERVER
1. PHP $_SERVER
$_SERVER 超全局变量保存了关于 Web 服务器的信息,包括 HTTP 头信息(headers)、路径(paths)以及脚本位置(script locations)。
PHP 超全局变量是内置的变量,它们始终可以在所有的作用域中被直接访问!
注意: $_SERVER 中的条目是由 Web 服务器创建的,因此不能保证每个条目在所有不同的服务器或环境中都一定可用。
下面的示例展示了如何使用 $_SERVER 数组中的一些常见元素:
示例
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];2. $_SERVER 常用元素对照表
下表列出了可以通过 $_SERVER 获取的最重要的一些元素及其描述:
| 元素 / 代码 | 描述 |
|---|---|
| $_SERVER['PHP_SELF'] | 返回当前正在执行脚本的文件名(相对于文档根目录) |
| $_SERVER['GATEWAY_INTERFACE'] | 返回服务器使用的通用网关接口(CGI)的版本 |
| $_SERVER['SERVER_ADDR'] | 返回当前运行脚本所在的服务器的 IP 地址 |
| $_SERVER['SERVER_NAME'] | 返回主机服务器的名称(例如:www.begindev.com) |
| $_SERVER['SERVER_SOFTWARE'] | 返回服务器标识的字符串,在响应请求时的头信息中给出(例如:Apache/2.2.24) |
| $_SERVER['SERVER_PROTOCOL'] | 返回请求页面时通信协议的名称和版本(例如:HTTP/1.1) |
| $_SERVER['REQUEST_METHOD'] | 返回访问页面使用的请求方法(例如:GET 或 POST) |
| $_SERVER['REQUEST_TIME'] | 返回请求开始时的时间戳(例如:1377687496) |
| $_SERVER['QUERY_STRING'] | 如果页面是通过查询字符串访问的,则返回该查询字符串 |
| $_SERVER['HTTP_ACCEPT'] | 返回当前请求的 Accept 头信息的内容 |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | 返回当前请求的 Accept-Charset 头信息的内容(例如:utf-8,ISO-8859-1) |
| $_SERVER['HTTP_HOST'] | 返回当前请求的 Host 头信息的内容 |
| $_SERVER['HTTP_REFERER'] | 返回引导用户代理到当前页的前一页的完整 URL(注意:不可靠,因为并非所有的用户代理都支持或发送此信息) |
| $_SERVER['HTTPS'] | 如果脚本是通过安全的 HTTP 协议(HTTPS)查询的,则返回一个非空值 |
| $_SERVER['REMOTE_ADDR'] | 返回正在浏览当前页面的用户的 IP 地址 |
| $_SERVER['REMOTE_HOST'] | 返回正在浏览当前页面的用户的主机名 |
| $_SERVER['REMOTE_PORT'] | 返回用户机器上连接到 Web 服务器所使用的端口号 |
| $_SERVER['SCRIPT_FILENAME'] | 返回当前执行脚本的绝对路径名 |
| $_SERVER['SERVER_ADMIN'] | 返回在 Web 服务器配置文件中 SERVER_ADMIN 指令的值(如果脚本运行在虚拟主机上,该值将是那个虚拟主机定义的值,例如:someone@begindev.com) |
| $_SERVER['SERVER_PORT'] | 返回 Web 服务器用于通信的端口(默认为 80) |
| $_SERVER['SERVER_SIGNATURE'] | 返回服务器版本和虚拟主机名的字符串,该字符串会被添加到服务器生成的页面底部 |
| $_SERVER['PATH_TRANSLATED'] | 返回当前脚本所在文件系统(非文档根目录)的基本路径 |
| $_SERVER['SCRIPT_NAME'] | 返回包含当前脚本的路径 |
| $_SERVER['SCRIPT_URI'] | 返回当前页面的 URI |