Я использую следующий код для перечисления всех папок в каталоге (называемом 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» и «test 3». В каждом из них у меня есть несколько файлов, которые я хотел бы быть ссылками, которые пользователь может щелкнуть, чтобы показать файл. Поэтому, когда пользователь переходит на сайт, он увидит что-то вроде этого:
Тест 1: ссылка 1 ссылка 2
Тест 2: ссылка 1 ссылка 2
Тест 3: ссылка 1 ссылка 2
Просто добавьте тег html A в тег LI, который вы выводите. Что-то в этом направлении должно работать:
<?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'); ?>
и<?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'); ?>
и<?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'); ?>