Heim >Backend-Entwicklung >PHP-Tutorial >PHP获取当前页面URL地址程序代码_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 10:48:05810Durchsuche

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

PHP的预定义变量$_SERVER是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建.
利用$_SERVER数组,我们可以获取URL完整路径及真实路径,让自己随心所欲的运用它们.
$_SERVER['SERVER_NAME'] // 当前运行脚本所在服务器主机的名称.
$_SERVER[SERVER_PORT'] //用户连接到服务器时所使用的端口.
$_SERVER['REQUEST_URI'] //当前运行脚本除主机名外的请求URL.
$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录.
举例 URL : http://xsooo.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完整路径为:

 代码如下 复制代码

    echo '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

在这里我想总结一下取得地址栏内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(),返回路径信息的绝对规范化的路径

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632797.htmlTechArticle在php中要获取当前页面url地址方法很简单,下面我来给大家总结一下利用相关函数获取完整页面url地址的实例。 PHP的预定义变量$_SERVER是一...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn