我試圖在使用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