php获取url地址一些函数总结

在php中获取url地址我们有很多函数可以使用,主要是全局变量server为我提供了不少方法,下面我们一起来看看吧。

常用函数:

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

看个例子,可以获取完整url,代码如下:

  1. <?php
  2. // 说明:获取完整url
  3. function curpageurl()
  4. {
  5. $pageurl = 'http';
  6. if ($_server["https"] == "on")
  7. {
  8. $pageurl .= "s";
  9. }
  10. $pageurl .= "://";
  11. if ($_server["server_port"] != "80")
  12. {
  13. $pageurl .= $_server["server_name"] . ":" . $_server["server_port"] . $_server["request_uri"];
  14. }
  15. else
  16. {
  17. $pageurl .= $_server["server_name"] . $_server["request_uri"];
  18. }
  19. return $pageurl;
  20. }
  21. ?>