我有一個名爲administrator1.php
的文件,其中包含test.php
。所以裏面administrator1.php
代碼獲取當前的網址排除包含的文件名
<?php include 'test.php'; ?>
我有內部test.php
動態導航菜單。代碼是
<?php
$menu = array(
'users' => array('text'=>'USERS', 'url'=>'administrator1.php'),
'createProfile' => array('text'=>'CREATE PROFILE', 'url'=>'administrator2.php'),
'payment' => array('text'=>'PAYMENTS', 'url'=>'administrator3.php'),
'defense' => array('text'=>'DEFENSE', 'url'=>'administrator4.php'),
'progressReport' => array('text'=>'PROGRESS REPORT', 'url'=>'administrator5.php'),
);
class Nav {
function GenerateMenu($items) {
$html = "<ul>";
foreach($items as $item) {
if(stristr(__FILE__,$item['url'])===FALSE) {
$html .= "<li><a href='{$item['url']}' ><span><B>{$item['text']}</B></span> </a> </li>";
}
else {
$html .= "<li class='active'><a href='{$item['url']}' ><span><B>{$item['text']}.nnn</B></span> </a></li>";
}
}
$html .= "</ul>";
return $html;
}};
echo Nav::GenerateMenu($menu);
?>
而且我在同一個文件中調用了Nav
方法。
問題在於,整個導航欄將被打印,但選定項目('USERS')CSS類別active
將不會被調用。但如果我在administrator1.php
文件中替換整個代碼而不包括test.php
文件,它可以正常工作。所以我想這是包含文件的路徑文件的問題。這是因爲我用__FILE__
獲得當前路徑嗎?那麼如何獲取當前文件路徑,不包括路徑中包含的文件名?
謝謝!但問題仍然沒有解決! –
請別人幫我! –
@dnk刪除數組中最後一個值後的逗號。那就是問題所在。 – Ritesh