【发布时间】:2016-12-13 23:00:34
【问题描述】:
今天,我们正在为我们的新主机控制面板界面制作文件管理器脚本,我们希望制作用户可以单击以返回到之前的路径的面包屑。到目前为止,他们是这样出现的
我想看起来不错。前三个链接是静态的,永远不会改变,用户去的/home 越远,添加到面包屑的链接就越多。现在,如果您在我们这里的目录中,也就是 /home/www/usr/,那么 url 看起来像这样:
/filemanager.php?do=browse&dir=www/usr
然后我们将$_GET['dir'] 分解为由/ 分隔的所有项目之间,并将它们添加到一个数组中。然后我们循环遍历数组和foreach,我们将<li>$i</li> 打印到面包屑区域。
现在的问题是,我们如何使菜单中每个项目的链接保留其父文件夹和/(如果有的话)?在此示例中,当用户单击 www 时,它会起作用,因为它与名称的链接相同,但是任何子 li 都需要将 www/ 添加到前面,以及任何其他父母。这里有点难过。
这是我们正在使用的 LI 添加过程:
if(isset($_GET['dir']) && !empty($_GET['dir'])) {
$breadcrumb_list = array();
$breadcrumb_list = explode("/", $_GET['dir']);
echo "<li><a href=\"filemanager?do=browse\">Home</a></li>\n";
foreach($breadcrumb_list as $i) {
echo "<li><a href=\"filemanager?do=browse&dir={$i}\">{$i}</a></li>\n";
}
}
我们将不胜感激任何和所有的帮助!谢谢大家!
【问题讨论】: