我想以前也有人问过类似的问题,但我不知道我想做的事情在逻辑上是否可行。
我目前在我们的内部网上使用DDSmoothMenu列出我们所有员工都可以访问的文档。
菜单结构类似于:
Documents -> Finance -> Forms -> File 1
-> File 2
-> File 3
-> Informational -> File 1
-> File 2
-> Insurance -> File 1
-> File 2
菜单的基本结构如下:
<ul>
<li><a href='#'>Sub Menu Name</a>
<ul>
<li><a href='#'>Menu Item</a></li>
<li><a href='#'>Menu Item</a></li>
<li><a href='#'>Menu Item</a></li>
<li><a href='#'>Menu Item</a></li>
</ul>
</li>
</ul>
我认为它必须涉及某种多维数组和递归目录迭代器,但我希望遍历每个文件夹并创建如上所述的HTML布局。
我认为可以做开始标记,但不确定在目录全部列出后如何做结束标记。
好的,这是我最后的结论,感谢Jim的示例代码:
function createMenu($dir) {
if(is_dir($dir)) {
echo "<li><a href='#'>".basename($dir)."</a><ul>";
foreach(glob("$dir/*") as $path) {
createMenuHTML($path);
}
echo "</ul></li>";
}
else {
$extension = pathinfo($dir);
$extension = $extension['extension'];
echo "<li><a href='$dir'>".basename($dir, ".".$extension)."</a></li>";
}
}
createMenu("/public/Documents");
对于我的DDSMoothMenu来说,这是一种绝对的魅力,在使用该函数创建菜单时,我可以根据自己的需要进行概括或细化。
我将把它标记为答案,但是吉姆给了我代码方面最好的起点!
更简单的方法是使用树。我推荐嵌套模型您可以检查项目的当前和权限。
递归解决方案可能类似于:
function createMenuHTML($dir){
$html = "";
if(is_dir($dir)){
//Directory - add sub menu
$html .= "<li><a href='#'>Sub Menu Name</a><ul>";
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$html .= createMenuHTML($dir.$file);
}
closedir($dh);
}
$html .= "</ul>"
}else{
//File so just add list item
$html .= "<li><a href='#'>".basename($dir)."</a></li>"
}
return $html;
}
这是完全未经测试,但希望会有所帮助。
问题内容: (希望)对某些人来说,这是一个非常简单的问题。 我有一个来自mySQL数据库的递归菜单,现在我的主要问题是: 创建URL的最佳方法是什么?我希望输入每行的标题,例如/ eggs / milk / bacon /。鸡蛋处于0级,例如:鸡蛋0,牛奶1,培根2。关于如何动态输出此内容的任何想法? 对于“ cletus”所说的这个问题,我几乎要去做些评论:PHP / MySQL- 建立导航菜单
问题内容: 我有此功能返回: } 但是我想做的是搜索文件/文件夹并返回它的路径,我该怎么做?你有这样的功能,或者可以给我一些技巧吗? 问题答案: 尝试结合使用RecursiveIteratorIterator和RecursiveDirectoryIterator
问题内容: 目录类似于: 我正在使用与PHPMyAdmin使用的相同的PHPZip类。我不确定如何压缩目录而不是仅压缩文件。这是我到目前为止的内容: 但是当我尝试解压缩相应的已下载的zip文件时,出现“不允许操作” 仅当我尝试在Mac上解压缩时,才出现此错误,当我通过命令行解压缩时,文件解压缩就可以了。我是否需要在下载时发送特定的内容类型,当前为“application / zip” 问题答案:
本文向大家介绍PHP实现递归目录的5种方法,包括了PHP实现递归目录的5种方法的使用技巧和注意事项,需要的朋友参考一下 项目开发中免不了要在服务器上创建文件夹,比如上传图片时的目录,模板解析时的目录等。这不当前手下的项目就用到了这个,于是总结了几个循环创建目录的方法。 方法一:使用glob循环 方法二:使用dir && read循环 方法三:使用opendir && readdir循环 方法四:
问题内容: 用Java查找具有特定名称的目录的最佳方法是什么?我要查找的目录可以位于当前目录或其子目录之一中。 问题答案: 您的解决方案将包括 API参考
本文向大家介绍php递归删除目录与文件的方法,包括了php递归删除目录与文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php递归删除目录与文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的PHP程序设计有所帮助。