1. 云栖社区>
  2. PHP教程>
  3. 正文

php获取当前页面的完整url

作者:用户 来源:互联网 时间:2017-12-01 12:38:58

php获取当前页面的完整url - 摘要: 本文讲的是php获取当前页面的完整url, 在php中,超全局变量$_SERVER中包含了所有的信息。通过$_SERVER,我们几乎可以获取到想要的url的各种信息。本文,我们借助$_SERVER这个超全局变量,来构造当前页面的完整url。 例1,代码: <?php/** *

在php中,超全局变量$_SERVER中包含了所有的信息。通过$_SERVER,我们几乎可以获取到想要的url的各种信息。
本文,我们借助$_SERVER这个超全局变量,来构造当前页面的完整url。

例1,代码:

<?php/** * * @取得当前页面的完整url地址 * @return string * @by www.ahlinux.com * */ function getAddress() {    /*** check for https ***/    $protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';    /*** return the full address ***/    return $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; } /*** example usage ***/ echo getAddress();?>

例2,取得当前页面的url。

<?php#测试网址: http://localhost/blog/testurl.php?id=5//获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; #localhost//获取网页地址 echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php//获取网址参数 echo $_SERVER["QUERY_STRING"]."<br>"; #id=5//获取用户代理 echo $_SERVER['HTTP_REFERER']."<br>"; //获取完整的urlecho 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];#http://localhost/blog/testurl.php?id=5//包含端口号的完整urlecho 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; #http://localhost:80/blog/testurl.php?id=5//只取路径$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; echo dirname($url);#http://localhost/blog?>

例3,取得当前页面的完整url。

<?php/** * 获取当前页面完整URL地址 */function get_url() { $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://'; $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']; $path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : ''; $relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : $path_info); return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url;}echo get_url();?>

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索 ,以便于您获取更多的相关知识。

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

开发者常用软件,超百款实用软件一站式提供