php найти имена папок, а затем файлы там? - PullRequest
1 голос
/ 10 августа 2011

Я пытаюсь использовать php для поиска в папке, и в ней будет пять папок .... Я хочу отобразить имя в качестве папки как ul и имена файлов этих папок как li ... ..

вот мой код, который я создал для создания внутреннего кода, но я могу найти имена папок

$counter = 0;
$location = "main_folder";
$main_directory = $_SERVER['DOCUMENT_ROOT'] . "/sandbox/{$location}/";

$dir = opendir ($directory);
        while (false !== ($file = readdir($dir))) {
            if ($file != "." && $file != "..") {
            $id = str_replace('.png', '', $file);
            $display_name = str_replace('-', ' ', $id);                             
            echo "<li data='{$id}'>{$display_name}</li>"
            $counter++;
            }       
     }

структура папок выглядит следующим образом

main_folder/inner1/Dog-Park.png Cat-Store.png .....
main_folder/inner2/...
main_folder/inner3/...
main_folder/inner4/...
main_folder/inner5/...

вот что я хочу, чтобы окончательный результат был

<ul style='display:none;' rel='inner1' class='left_ul'>
  <li data='Dog-Park'>Dog Park</li>
  <li data='Cat-Store'>Cat Store</li>
  <li data='Add-Gratuity'>Add Gratuity</li>
...
...
...
</ul>

любые идеи о том, как сделать папки

1 Ответ

1 голос
/ 11 августа 2011

Вы должны иметь opendir () внутри opendir () (извините за мое форматирование):

$dir = opendir ($directory);
        while (false !== ($file = readdir($dir))) {
            if ($file != "." && $file != ".." && file_type($file) == 'dir') {
echo '<ul>';
$dir2 = opendir ($directory.'/'.$file);
        while (false !== ($file2 = readdir($dir2))) {
            if ($file2 != "." && $file2 != ".." && file_type($file2) == 'file') {
            $id = str_replace('.png', '', $file);
            $display_name = str_replace('-', ' ', $id);                             
            echo "<li data='{$id}'>{$display_name}</li>"
}}
closedir($directory.'/'.$file);
Echo '</ul>';
            }       
     }
...