尝试URI::uri_string()
但无法使用base_url。
网址:http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
返回:dropbox/derrek/shopredux/ahahaha/hihihi
但http://localhost/dropbox/derrek/shopredux/
只返回一个空字符串。
我希望第一个电话返回“ahahaha / hihihi”,第二个电话返回“”。有这样的功能吗?
答案 0 :(得分:52)
// For current url
echo base_url(uri_string());
答案 1 :(得分:27)
如果加载了url
帮助程序,请使用
current_url();
会更好
答案 2 :(得分:10)
尝试使用“uri”细分,例如:
$this->uri->segment(5); //To get 'ahahaha'
$this->uri->segment(6); //To get 'hihihi
形成你的第一个网址......你也可以从第二个URl获得第5个分段(5),分段(6),因为它们是空的。
每个段函数计数从localhost开始为'1'和同步段
答案 3 :(得分:9)
我看到这篇文章很老了。但在版本CI v3中,这是答案:
echo $this->uri->uri_string();
由于
答案 4 :(得分:7)
对于参数或没有参数URL使用此:
方法1:
$currentURL = current_url(); //for simple URL
$params = $_SERVER['QUERY_STRING']; //for parameters
$fullURL = $currentURL . '?' . $params; //full URL with parameter
方法2:
$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
方法3:
base_url(uri_string());
答案 5 :(得分:5)
//if you want to get parameter from url use:
parse_str($_SERVER['QUERY_STRING'], $_GET);
//then you can use:
if(isset($_GET["par"])){
echo $_GET["par"];
}
//if you want to get current page url use:
$current_url = current_url();
答案 6 :(得分:1)
运行最新的Code Igniter 3.10
$this->load->helper('uri'); // or you can autoload it in config
print base_url($this->uri->uri_string());
答案 7 :(得分:0)
我不知道是否有这样的功能,但是使用$ this-> uri-> uri_to_assoc()可以从$ _GET参数中获得一个关联数组。 有了这个,以及您所在的控制器,您就知道了URL的样子。 在你上面的URL中,这意味着你将在控制器dropbox中,数组将是这样的:
array("derrek" => "shopredux", "ahahaha" => "hihihi");
有了这个,你应该能够自己做这个功能。
答案 8 :(得分:0)
在CI v3中,您可以尝试:
function partial_uri($start = 0) {
return join('/',array_slice(get_instance()->uri->segment_array(), $start));
}
这将删除$start
参数指定的URL段的数量。如果您的网址是http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
,则:
partial_uri(3); # returns "ahahaha/hihihi"
答案 9 :(得分:0)
您可以使用一些Codeigniter函数和一些核心函数,并进行组合以使用查询字符串获得URL。 我找到了解决此问题的方法。
base_url($this->uri->uri_string()).strrchr($_SERVER['REQUEST_URI'], "?");
,如果您加载了URL助手,那么您也可以current_url().strrchr($_SERVER['REQUEST_URI'], "?");
答案 10 :(得分:0)
<?php $currentMenu = $this->uri->segment(2); ?>
<ul>
<li class="nav-item <?= ($currentMenu == 'dashboard') ? 'active' : '' ?>">
<a href="<?= site_url('/admin/dashboard'); ?>" class="nav-link"><i data-
feather="pie-chart"></i> Dashboard</a>
</li>
</ul
这对我有用