PHP的预约义变量$_SERVER是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器建立.php
利用$_SERVER数组,咱们能够获取URL完整路径及真实路径,让本身为所欲为的运用它们.web
$_SERVER['SERVER_NAME'] // 当前运行脚本所在服务器主机的名称.apache
$_SERVER[SERVER_PORT'] //用户链接到服务器时所使用的端口.数组
$_SERVER['REQUEST_URI'] //当前运行脚本除主机名外的请求URL.服务器
$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录.spa
举例 URL : http://www.cndong.cn/Test/Test.phpip
$_SERVER['SERVER_NAME']: www.cndong.cn文档
$_SERVER['SERVER_PORT'] : 80web服务器
$_SERVER['REQUEST_URI'] : /Test/Test.phpit
$_SERVER['DOCUMENT_ROOT'] : /home/var/www/cndong.cn/htdocs
因此URL完整路径为: “http://”.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
说明 :
1. 默认http的端口为80 ,因此通常$_SERVER['SERVER_PORT']不归入URL完整路径,固然特殊状况,特殊对待!
2. 有人会用$_SERVER['REMOTE_HOST']获取主机名,但是它的含义是:正在浏览当前页面用户的主机名(此变量必须由Web 服务器来建立).
延伸:
$_SERVER['REMOTE_HOST']为空值的解决方法
修改apache服务器配置文件httpd.conf内的HostnameLookups为On