Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Рекурсия, не могу найти ошибку в рекурсии
Гость_Oleg  
[x] Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









<?php
error_reporting(E_ALL);

function direc($nameDir, $tabul){
$d = opendir($nameDir);

while($name = readdir($d)){
if($name=="." or $name=="..")
continue;
if(is_file($name))
echo "$name <br />";
else{
$tabul .= '-';
echo "$tabul<b>[$name]</b><br />";
direc($nameDir."/$name");
}
}

closedir($d);
}

direc(".",'');
?>



Спустя 11 минут, 50 секунд (6.02.2012 - 01:16) Гость_Oleg написал(а):
еще забыл вместо - direc($nameDir."/$name");
direc($nameDir."\$name", $tabul);

Спустя 6 минут, 19 секунд (6.02.2012 - 01:22) Placido написал(а):
Это убрать
$tabul .= '-';

Это
direc($nameDir."\$name", $tabul);

изменить на
direc($nameDir."\$name", $tabul.'-');


Спустя 4 минуты, 1 секунда (6.02.2012 - 01:26) Гость_Oleg написал(а):
не помогло =(

Спустя 2 минуты, 40 секунд (6.02.2012 - 01:29) Гость_Oleg написал(а):
$tabul .= '-'; - это вообще можно убрать, просто для наглядности вывода

Спустя 3 минуты, 41 секунда (6.02.2012 - 01:33) wplounge написал(а):
direc($nameDir."\$name", $tabul.'-');

Вы обратным слэшем в двойных кавычках заэкранировали переменную $name

Спустя 14 минут, 28 секунд (6.02.2012 - 01:47) Гость_Oleg написал(а):
Дружище, тут дело не в слешах и не в $tabul, я просто случайно кликнул его, это готовый код, его можно запихнуть и проверить на ошибки в браузере, у меня просто мало опыта, чтобы их разобрать =(( спс за помощь!

Спустя 1 минута, 39 секунд (6.02.2012 - 01:49) Гость_Oleg написал(а):
Warning: opendir(../cgi/test.pl,../cgi/test.pl) [function.opendir]: Неверно задано имя папки. (code: 267) in Z:\home\localhost\www\test.php on line 6

Warning: opendir(../cgi/test.pl) [function.opendir]: failed to open dir: No such file or directory in Z:\home\localhost\www\test.php on line 6

Warning: readdir() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\test.php on line 8

Warning: closedir() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\test.php on line 18
[cgi-bin]
-[test.pl]

Warning: opendir(../cgi-bin/test.pl,../cgi-bin/test.pl) [function.opendir]: Неверно задано имя папки. (code: 267) in Z:\home\localhost\www\test.php on line 6

Спустя 15 минут, 42 секунды (6.02.2012 - 02:04) Placido написал(а):
Да, код нерабочий. Держи рабочий вариант. Сравнивай
function dirs($dir, $tab) {
$d = opendir($dir);
while ( ($name = readdir($d)) !== false )
{
if ( $name == "." or $name == ".." ) continue;
if ( is_dir($dir . '/' . $name) )
{
echo "<b>" . $tab . "[$name]</b><br>";
dirs($dir . '/' . $name, $tab . '-');
}
else
{
echo $tab . $name . '<br>';
}
}

closedir($d);
}
dirs("C:/", "");


Спустя 12 часов, 44 минуты, 4 секунды (6.02.2012 - 14:48) Гость_Oleg написал(а):
спасибо!!! нашел ошибку!
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса