$_SERVER变量说明
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。-php官方手册
$_SERVER常用的变量
$_SERVER['PHP_SELF']:正在执行脚本的文件名
$_SERVER['SERVER_ADDR']:当前执行脚本所在的服务器IP地址
$_SERVER['SERVER_NAME']:当前运行脚本所在的服务器的主机名
$_SERVER['SERVER_SOFTWARE']:服务器标识字符串,在响应请求时的头信息中给出,如: Apache/2.2.24
$_SERVER['SERVER_PROTOCOL']:请求页面时通信协议的名称和版本,如:"HTTP/1.0"
$_SERVER['REQUEST_METHOD']:访问页面使用的请求方法,如:POST
$_SERVER['REQUEST_TIME']:脚本请求开始的时间戳
$_SERVER['QUERY_STRING']:query string(查询字符串),即url的“?”后面的参数
$_SERVER['REQUEST_URI']:URI用来指定要访问的页面
$_SERVER['HTTP_ACCEPT']:当前请求头Accept:项的内容
$_SERVER['HTTP_ACCEPT_CHARSET']:当前请求的Accept_Charset头
$_SERVER['HTTP_HOST']:当前请求的Host头
$_SERVER['HTTP_REFERER']:获取来源网址,即点击来到本页的上页网址
$_SERVER['HTTP_USER_AGENT']:当前请求头中 User-Agent: 项的内容
$_SERVER['HTTPS']:是否通过安全HTTP协议查询脚本
$_SERVER['REMOTE_ADDR']:浏览当前页面的用户的IP地址
$_SERVER['REMOTE_HOST']:浏览当前用户的主机名
$_SERVER['REMOTE_PORT']:用户机器上连接到Web服务器所使用的端口号
$_SERVER['SERVER_PORT']:Web服务器使用的端口,默认为“80”
$_SERVER['SCRIPT_FILENAME']:当前执行脚本的绝对路径
$_SERVER['SCRIPT_NAME']:当前脚本的路径
$_SERVER['SCRIPT_URI']:当前页面的URI
$_SERVER['REQUEST_SCHEME']:传输协议
HTTP_HOST和SERVER_NAME的区别
HTTP_HOST的值只有一个,可能是域名或IP,SERVER_NAME的值是Web服务器设置的值
获取URL相关参数
//获取域名或主机地址
echo $_SERVER['HTTP_HOST'];
//获取URL地址参数
echo $_SERVER['QUERY_STRING'];
//获取完整的URL
echo $_SERVER['REQUEST_SCHEME'] . '://' .$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];