假设网址为http://example.com/product/3
,我只想检索http://example.com/product/
之后的内容。我发现了这个,它回应了域名,但我如何得到这三个域名。它的这种方法可靠吗?我也在使用codeIgniter。
<?php
function curPageURL() {
$pageURL = 'http';
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
<?php
echo curPageURL();
?>
答案 0 :(得分:4)
使用$this->uri->segment(n)
。它的文档在这里:
http://codeigniter.com/user_guide/libraries/uri.html
对于您的代码,您将使用:
$curPageURL = $this->url->segment(2)
编辑:修正了代码中的错误。
答案 1 :(得分:2)
是的,使用codeigniter API的URI类。
base_url是段零,因此在您的情况下,产品将是段1和id段2。
$product_id = $this->uri->segment(2)
正如chetan所说,用户指南中明确记录了这一点。
答案 2 :(得分:0)
您应该使用parse_url代替: http://php.net/manual/es/function.parse-url.php