В общем нужно через $_GET ходить внутрь локальных папок. (упражнение на scandir() ,is_dir()) Код который я сделал работает только на 1 уровень,то есть входит в папку -показывает содержимое но не анализирует его и следующую папку соотвт-нно не определяет. Покажите как нужно сделать,что б все было ок плиз.. Код (Text): <?php error_reporting(-1); header('Content-Type: text/html; charset=utf-8'); if (!isset($_GET['page'])) $_GET['page']='.'; /*Сканируем текущий каталог*/ $files=scandir($_GET['page']); ?> <ul> <?php foreach($files as $v){ /*Ищем папки*/ if (is_dir($v)){ /* Делаем папки кликабельной и вводим переменную $link*/ $path="<a href=".$_SERVER['PHP_SELF'].'?page='.$v.'&link'.">".$v."</a>"; /*Добавляем иконку папки*/ $v="<img src='img/pp.jpg'>".$path; /*Если кликнули то $link - должна сканироваться папка куда зашли - Не работает ((*/ if(isset($link)){ $_GET['page']=$v; } } echo "<li>$v</li>"; } ?> </ul> Не могу до конца разобраться с этими адресами.Что куда нужно?.Помогите пожалуйста.
Сканирует папки, входит в подпапки, но внутри не все определяет как папки Скрипт в другом каталоге при переходе, т.е. видимо надо менять каталог chdir Собственно, при переходе по ссылке echo getcwd() . "\n"; перешли и проверяем, видим подкаталог, но getcwd показывает что мы в родительской директории, что вполне справедливо. Т.е. вот так работает: if(isset($link)){ $m= getcwd() . "\n"; chdir("./somedir"); $_GET['page']=$v; Только вместо somedir надо подставить переменную.Правда, как!? Поскольку цикл отрабатывает и $v хранит последнее значение, то по всем папкам погулять не получится.
Да, я понимаю почему так происходит, поэтому и спросил у народа что нужно дописать.. Может в Принципе нужно по другому делать ? Как то все таки это реализовать то можно
Это все неправильные вещи, конечно. Но вот так у меня работает: Код (Text): if(isset($link)){ $b=$_GET['page']; echo getcwd() . "\n"; chdir($b); $_GET['page']=$v; } } В смысле определяет папку как папку в каталоге, но дальше не ходит, что опять же справедливо - скрипт отработал и в этом подкаталоге его физически нет.
Я думаю, что нужно указывать глубину сканирования, чтобы одним разом сканировать подкаталоги. Вероятно, сохранять все в многомерный массив, потом уже ходить по массиву. Подкаталог - уровень вложенности массива.