всем привет. хочу реализовать рекурсивный вывод папок с помощью html+php списка select т.е. на странице есть 1й список ТОЛЬКО папок корня каталога. При выборе в нем нужной папки ниже появлялся бы 2й список с ТОЛЬКО подкаталогами, если есть еще вложенные папки - ниже 3й список, ну и т.д. Если в папке есть еще и файлы, то они просто отобразятся ссылками ниже (ну или чем-нить). Соответственно, если меняем в 1ом списке что-то, то отобразятся только 1й список (корень) и 2й (с вложенными). вот с чего начал: 2 файла. 1й работает на клиенте, 2й на сервере, пробовал зациклить - наверное глупо. Не пойму как/вернее где script обрабатывается, в общем - помогите. Geek Brains не предлагать!!! Вообще, именно такая реализация - чёто многа кода мне кажется))) так же не нашел ни чего путнего про onChange. в php его, как я понял, не обработать, т.е. скрипты. но вот рассираться из примеров в инете не хочется. во всем этом (php js html и т.д.)сижу 2 недели. и да - я читаю, читаю маны)) многое пока не понятно. по ходу кода немного вопросов. метод POST предпочтительнее php select-dir.php PHP: <?php global $x; // надо ли? $x = 0;// может использоваться как счетчик // запись в файл $x для out.txt $fopen = fopen('sel.txt', 'w'); chmod("sel.txt", 0777); // ни чего не говорите про права ))) fputs($fopen,'<?php $dir = $_POST[\''.$x.'\']; $x = '.$x.';?>'); fclose($fopen); $dir = 'images'; // корневая папка $dir_out = @opendir($dir) or die("Ошибка при открытии папки !!!"); $files = scandir($dir, 0); $select = '<form id = "sel_dir'.$x.'">'; //привязка формы к скрипту // name $x - для вывода в out.php // upIncome() имя функции для скрипта $select .= '<SELECT name ="'.$x.'" onchange="upIncome()">'; $select .= '<option hidden="none">выбор '.$x.'</option>'; // не стал использовать WHILE, мне так яснее ситуация for($i = 2; $i < count($files); $i++) { $infiles = $files[$i]; $dir_out = $dir .'/'. $infiles; if (is_dir($dir_out)) { //проверяем что это папка // на всякий случай колбасим все (вдруг где-то че-то проверять) $select .= '<option name ="'.$infiles.'" value="'.$infiles.'">' . $infiles .'</option>'; } } $select .= '</select>'; $select .= '</form>'; echo $select; ?> <!-- здесь вывод --> <div class="from-server"></div> <script> async function upIncome(){ var x = <?php echo $x ?>; <!-- как и что можно сюда добавить? --> let response = await fetch('out.php',{ method: 'POST', body: new FormData(document.querySelector('#sel_dir'+x)), }); ; <!-- querySelector - что это?--> document.querySelector('.from-server').innerHTML = await response.text(); } </script> php out.php PHP: <?php global $x; // надо ли? include 'sel.txt'; echo '<h1> папка: '.$dir.'<br> // по идее - если б в 1ом файле был бы еще 2й список // в той же форме <form id = "sel_dir'.$x.'"> // то можно было б вывести и его значение <select NAME="" </h1>'; // нужно еще как-то $dir менять на $dir/вложенная_дир. массив может ? ?> От модератора: используйте кнопку </> для вставки кода