首页 >php教程 >php手册 >PHP获取当前页面URL地址程序代码

PHP获取当前页面URL地址程序代码

WBOY
WBOY原创
2016-05-25 16:44:351623浏览

在php中要获取当前页面url地址方法很简单,下面我来给大家总结一下利用相关函数获取完整页面url地址的实例.

PHP的预定义变量$_SERVER是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建.

利用$_SERVER数组,我们可以获取URL完整路径及真实路径,让自己随心所欲的运用它们.

$_SERVER['SERVER_NAME'] // 当前运行脚本所在服务器主机的名称.

$_SERVER[SERVER_PORT'] //用户连接到服务器时所使用的端口.

$_SERVER['REQUEST_URI'] //当前运行脚本除主机名外的请求URL.

$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录.

举例 URL : http://phprm.com/Test/Test.php

$_SERVER['SERVER_NAME']:  xsooo.com

$_SERVER['SERVER_PORT'] : 80

$_SERVER['REQUEST_URI'] : /Test/Test.php

$_SERVER['DOCUMENT_ROOT'] : /home/var/www/xsooo.com/htdocs

所以URL完整路径为如下代码:

<?php 
	    echo &#39;http://&#39;.$_SERVER[&#39;SERVER_NAME&#39;].$_SERVER[&#39;REQUEST_URI&#39;]; 
	 

说明:

1.默认http的端口为80 ,所以一般$_SERVER['SERVER_PORT']不纳入URL完整路径,当然特殊情况,特殊对待!

2.有人会用$_SERVER['REMOTE_HOST']获取主机名,可是它的含义是:正在浏览当前页面用户的主机名(此变量必须由Web 服务器来创建).

延伸:

$_SERVER['REMOTE_HOST']为空值的解决方法

修改apache服务器配置文件httpd.conf内的HostnameLookups为On

在这里我想总结一下取得地址栏内URL及文件所属的我更路径的一些信息:

运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建。

这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用global $_SERVER; 访问它,就如同使用 $HTTP_SERVER_VARS 一样。

$HTTP_SERVER_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的变量,PHP 处理它们的方式不同。)如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_SERVER 和 $HTTP_SERVER_VARS 数组。

$_SERVER['HTTP_HOST'] 取得当前请求的Host:头部内容

$_SERVER['PHP_SELF']这可能是我们最为经常用到的了,它返回当前调用 的页的文件名,如果是http://localhost/test/2005/test.php, 那么将会返回/test/2005/test.php

$_SERVER['SCRIPT_NAME']它将返回包含当前脚本的路径。这在页面需要指向自己时非常有用

$_SERVER['SCRIPT_FILENAME']它将返回当前文件所在的绝对路径信息

$_SERVER['REQUEST_URI']返回访问此页面所需的URI,包括"/"

当然还有许多路径函数:

dirname(),返回路径信息中的目录部分,前面是带有"/"的

basename()返回路径中的基本的文件名部分,当然也可以设置后缀来控制输出。

realpath(),返回路径信息的绝对规范化的路径

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn