CodeIgniter current_url不显示查询字符串

mic*_*ael 13 php uri codeigniter query-string

嗨,我正在尝试将我当前的URL存储在会话变量中.

我的应用使用了www.domain.com/add?url=http://www.google.com等查询字符串

但是current_url()返回'ww.domain.com/add'.没有查询字符串的网址.

我检查了帮助文件,current_url似乎只是将uri段附加到配置中设置的site_url.

    function current_url()
{
    $CI =& get_instance();
    return $CI->config->site_url($CI->uri->uri_string());
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道我如何抓住查询字符串来追加它们,甚至只是抓住整个网址.

Phi*_*eon 30

创建一个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;
}
Run Code Online (Sandbox Code Playgroud)

  • 您也可以将此函数命名为`current_full_url()`以使本机函数也可用. (8认同)

Mis*_*cha 5

我不认为CodeIgniter有任何帮助.只需使用PHP的原生支持:

回显完整的URL:

echo base_url().ltrim($_SERVER['REQUEST_URI'], '/');
Run Code Online (Sandbox Code Playgroud)

只有查询字符串:

echo $_SERVER['QUERY_STRING'];
Run Code Online (Sandbox Code Playgroud)

  • 只有在域根目录中有项目时,此方法才有效,否则项目的文件夹将使用此方法出现两次. (2认同)