我想在特定文件夹中查找任何html文件,并根据结果构建我的菜单和子菜单:
例如我的项目文件可能是:'project1_qa_qa2.html',...,'project2_dev_dev1.html'等等......而bw
应该返回'project1','qa','qa2 '; ......; 'project2','dev','dev1'; ...
我需要循环遍历每个元素{project(1或2),department(qa或dev)和id(dev1,qa2,..)}以动态方式构建我的菜单/子菜单。 / p>
我从http://callmenick.com/_development/slide-down-menu/
获得了一个基础资源我添加了我的硬编码示例代码,以显示我想要它的样子。
gradelw ofbizDebug
答案 0 :(得分:0)
这只是为了向您展示我使用了哪些代码并指出了正确的方向。用于扫描目录:
function getFromDir( $dir ) {
$cdir = scandir( $dir );
$result = array();
foreach( $cdir as $key => $value ) {
if( !in_array( $value, array('.', '..') ) ) {
if( is_dir( $dir . DIRECTORY_SEPARATOR . $value ) ) {
$result[$value] = getFromDir($dir . DIRECTORY_SEPARATOR . $value);
} else {
$result[] = $value;
}
}
}
return $result;
}
如创建html的评论所示:
function outputMenu(array $array, $baseUrl = '/') {
$html = '';
foreach( $array as $key => $item ) {
if( is_array( $item ) ) {
$html .= '<li>'.$key.'<ul>';
$html .= outputMenu($item, $baseUrl.$key.'/');
$html .= '</ul></li>';
} else {
$html .= '<li><a href="'.$baseUrl.$item.'">'.ucfirst(substr($item, 0, -4)).'</a></li>';
}
}
return $html;
}
echo outputMenu(getFromDir('./projects'));