我试图在使用php的nav中设置活动类。现在我需要通过目录来设置它,而不是完整的URL,因为每个目录都有一个主目录页面,其目录中的其他页面具有子导航。我打算使用以下内容,但是这会返回完整的网址。什么是使用PHP获取URL目录的最佳方式?
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$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;}
function activeLink($pageID) {
if ($pageID == curPageURL()) {
echo 'class="active"';
} }
然后我打电话activeLink()在一个导航项目是这样的:
<li class="projectchild padding1"><a href="http://www.strangeleaves.com/nexus/index.php" <?php activelink('http://www.strangeleaves.com/nexus/index.php'); ?> >nexus</a></li>
你如何修改这个返回目录,而不是将非常感激的建议。
这种方法并不像人们想象的那样简单。 '$ url'没有很好地形成时,'parse_url'可能会失败。 – 2010-09-24 20:23:13
你可以通过将'PHP_URL_PATH'作为第二个参数传递给'parse_url()' – chigley 2010-09-27 06:11:59
奇妙的家伙,谢谢你的帮助。 – 2010-09-27 08:33:29