我有一个目录,其深度至少为3或4级。我试图遍历整个目录树,并生成HTML无序嵌套列表。
我正在使用的代码创建了一个嵌套的HTML列表,但是它的目录深度顺序不正确。这是目前正在产生的结果,这是不正确的。
这就是我要实现的目标
我当前的代码如下。我需要修改哪一部分才能完成这项工作?
<?php
function read_dir_tree($parent_dir, $depth = 0){
$str_result = "";
$str_result .= "<li>". dirname($parent_dir) ."</li>";
$str_result .= "<ul>";
if ($handle = opendir($parent_dir))
{
while (false !== ($file = readdir($handle)))
{
if(in_array($file, array('.', '..'))) continue;
if( is_dir($parent_dir . "/" . $file) ){
$str_result .= "<li>" . read_dir_tree($parent_dir . "/" . $file, $depth++) . "</li>";
}
$str_result .= "<li>{$file}</li>";
}
closedir($handle);
}
$str_result .= "</ul>";
return $str_result;
}
function read_dir($tp){
$link = ($tp);
echo "<ul>".read_dir_tree($link)."</ul>";
}
?>
我使用以下方式从HTML调用此PHP:
<?php
read_dir("media");
?>
答案 0 :(得分:-1)
max514,这里已经给出了完整的工作示例。
RecursiveIteratorIterator and RecursiveDirectoryIterator to nested html lists