За последние 24 часа нас посетили 16539 программистов и 1569 роботов. Сейчас ищут 893 программиста ...

Вывести все подкаталоги

Тема в разделе "PHP для новичков", создана пользователем k1ean, 10 июн 2012.

  1. k1ean

    k1ean Активный пользователь

    С нами с:
    10 июн 2012
    Сообщения:
    10
    Симпатии:
    0
    День добрый, пытаюсь вывести все подкаталоги, находящиеся в указанном каталоге.

    Код (Text):
    1. <?php
    2.     function getDirectoryTree($path, $level = 1) {
    3.         $d = opendir("$path");
    4.         if (!$d)
    5.             return;
    6.         while (FALSE !== ($e = readdir($d))) {
    7.             //Пропускаем записи о каталогах . и ..
    8.             if (($e == ".") || ($e == ".."))
    9.                 continue;
    10.             //Пропускаем записи о файлах
    11.             if (!is_dir($e))
    12.                 continue;
    13.             //Формируем отступы
    14.             for ($i = 0; $i < $level; $i++)
    15.                 echo "   ";
    16.             //Выводим имя каталога
    17.             echo "$path/$e\n";
    18.             //Выводим его содержимое
    19.             getDirectoryTree("$path/$e", $level + 1);
    20.         }
    21.         closedir($d);
    22.     }
    23.     //Тестируем
    24.     echo "<pre>";
    25.     echo ".\n";
    26.     getDirectoryTree(".");
    27.     echo "</pre>";
    28. ?>
    В указанном каталоге все выводит правильно, затем переходит в подкаталоги, выводит каталоги, содержащиеся в них и все, дальше почему то не идет. Помогите найти ошибку.
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Код (PHP):
    1.         //Пропускаем записи о файлах
    2.         if (!is_dir($e))
    3.             continue; 
    ==>
    Код (PHP):
    1.         //Пропускаем записи о файлах
    2.         if(!is_dir("$path/$e"))
    3.             continue; 
     
  3. k1ean

    k1ean Активный пользователь

    С нами с:
    10 июн 2012
    Сообщения:
    10
    Симпатии:
    0
    Спасибо