当前位置:Gxlcms > PHP教程 > php获取当前页面的完整url

php获取当前页面的完整url

时间:2021-07-01 10:21:17 帮助过:15人阅读

本文介绍下,用php来取得当前页面的完整url的一段代码,很简单,很实用,有需要的朋友参考下。

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

例1,代码:

  1. <!--?php
  2. /**
  3. *
  4. * @取得当前页面的完整url地址
  5. * @return string
  6. * @by bbs.it-home.org
  7. *
  8. */
  9. function getAddress()
  10. {
  11. /*** check for https ***/
  12. $protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
  13. /*** return the full address ***/
  14. return $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  15. }
  16. /*** example usage ***/
  17. echo getAddress();
  18. ?-->

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

  1. <!--?php
  2. #测试网址: http://localhost/blog/testurl.php?id=5
  3. //获取域名或主机地址
  4. echo $_SERVER['HTTP_HOST']."<br-->"; #localhost
  5. //获取网页地址
  6. echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php
  7. //获取网址参数
  8. echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
  9. //获取用户代理
  10. echo $_SERVER['HTTP_REFERER']."<br>";
  11. //获取完整的url
  12. echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  13. echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
  14. #http://localhost/blog/testurl.php?id=5
  15. //包含端口号的完整url
  16. echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
  17. #http://localhost:80/blog/testurl.php?id=5
  18. //只取路径
  19. $url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
  20. echo dirname($url);
  21. #http://localhost/blog
  22. ?>

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

  1. <!--?php
  2. /**
  3. * 获取当前页面完整URL地址
  4. */
  5. function get_url() {
  6. $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
  7. $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
  8. $path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
  9. $relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self.(isset($_SERVER['QUERY_STRING']) ?
  10. '?'.$_SERVER['QUERY_STRING'] : $path_info);
  11. return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url;
  12. }
  13. echo get_url();
  14. ?-->

人气教程排行