我有一个名为的文件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
在同一个文件中调用了该方法。
这里的问题是,将打印整个导航栏,但active
不会调用所选项目的 ('USERS') CSS 类。administrator1.php
但是,如果我在不包含文件的情况下替换文件中的整个代码,test.php
它就可以正常工作。所以我想这是包含文件的文件路径的问题。是因为我已经习惯__FILE__
了当前的路径吗?那么如何获取当前文件路径,不包括路径中包含的文件名?