新闻动态

news

PHP获取当前页面的URL函数

发表于:2011-08-05 00:00:00 来源:SOUAB.COM 人气:3672

使用PHP编写程序的时候,我们常常想要获取当前页面的URL。下面提供一个用于获取当前页面URL的函数以及使用方法:

示例一:

PHP代码
  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. ?>  

定义该函数之后就可以直接调用了:

PHP代码
  1. <?php   
  2.   echo curPageURL();   
  3. ?>  

上面的函数可以获取当前页面完整的URL,即你在浏览器地址栏看到的内容。但是,有时候我们不想要URL中的参数( ? 号后面的内容),如:http://www.souab.com/sort-1.html?u=123,只想获取http://www.souab.com/sort-1.html,你可以将以上函数做以下更改:

PHP代码
  1. <?php   
  2. // 说明:获取无参数URL   
  3. function curPageURL()    
  4. {   
  5.     $pageURL = 'http';   
  6.     if ($_SERVER["HTTPS"] == "on")    
  7.     {   
  8.         $pageURL .= "s";   
  9.     }   
  10.     $pageURL .= "://";   
  11.     $this_page = $_SERVER["REQUEST_URI"];   
  12.   
  13.        
  14.   
  15.     // 只取 ? 前面的内容   
  16.     if (strpos($this_page"?") !== false)    
  17.         $this_page = reset(explode("?"$this_page));   
  18.     if ($_SERVER["SERVER_PORT"] != "80")    
  19.     {   
  20.         $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $this_page;   
  21.     }    
  22.     else