PHP目录中文件夹的数组,并显示每个文件夹中的文件


PHP array of folders in directory and show files in each folder

我使用以下代码列出目录(称为test)中的所有文件夹,以及这些文件夹中的所有文件:

<?php
function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol>';
foreach($ffs as $ff){
    if($ff != '.' && $ff != '..'){
        echo '<li class="title">'.$ff;
        if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
        echo '</li>';
    }
}
echo '</ol>';
}
listFolderFiles('test');
?>

这工作得很好,但我希望能够链接到这些文件夹中的每个文件。有人能告诉我该怎么做吗?

例如,我有一个名为"test"的目录,其子目录为"test 1","test 2"answers"test 3"。在每一个我有一对夫妇的文件,我想是用户可以点击显示文件的链接。因此,当用户访问该网站时,他们将看到这样的内容:

测试1:链接1链接2

测试2:链接1链接2

测试3:链接1链接2

只需在您要输出的LI标记内添加html a标记。下面的代码应该可以工作:

<?php
function listFolderFiles($dir){
    $ffs = scandir($dir);
    echo '<ol>';
    foreach($ffs as $ff){
        if($ff != '.' && $ff != '..'){
            echo '<li class="title">';
            if(is_dir($dir.'/'.$ff)){
                echo $ff;
                listFolderFiles($dir.'/'.$ff);
            }else{
                echo '<a href="'.$dir.'/'.$ff.'">'.$ff.'</a>';
            }
            echo '</li>';
        }
    }
    echo '</ol>';
}

listFolderFiles('test');
?>