2010-11-11 102 views
12

您好我想將我的當前網址存儲在會話變量中。CodeIgniter current_url不顯示查詢字符串

我的應用程序使用像www.domain.com/add?url=http://www.google.com

但current_url查詢字符串()返回 'ww.domain.com/add'。沒有查詢字符串的網址。

我已經檢查過幫助程序文件,current_url似乎只是將uri段附加到config中設置的site_url。

function current_url() 
{ 
    $CI =& get_instance(); 
    return $CI->config->site_url($CI->uri->uri_string()); 
} 

任何人都知道我可以抓住查詢字符串來追加它們,甚至只是抓住整個網址。

回答

28

創建MY_url_helper:

function current_url() 
{ 
    $CI =& get_instance(); 

    $url = $CI->config->site_url($CI->uri->uri_string()); 
    return $_SERVER['QUERY_STRING'] ? $url.'?'.$_SERVER['QUERY_STRING'] : $url; 
} 
+1

很酷,謝謝。不知道$ _SERVER ['QUERY_STRING'] – michael 2010-11-12 16:30:31

+0

這真棒,它確實幫助我解決了一個問題。謝謝! – 2011-06-13 19:04:02

+7

您也可以命名爲'current_full_url()'這個函數來讓原生函數也可用。 – machineaddict 2013-06-28 06:14:12

5

我不認爲CodeIgniter有這方面的幫手。只要使用PHP的原生支持這一點:

回聲完整的URL:

echo base_url().ltrim($_SERVER['REQUEST_URI'], '/'); 

只有查詢字符串:

echo $_SERVER['QUERY_STRING']; 
+2

此方法只將如果您的域根目錄中有該項目,則工作,否則該項目的文件夾將以該方法出現兩次。 – machineaddict 2013-06-20 13:34:27