Рекурсивная функция

sovka

Новичок
Рекурсивная функция

Приветы!

Нужна функция, которая рекурсивно обходит директорию со всеми вложенными путями и возвращает N - файлов с самой свежей датой создания.

Вроде как сделал, но она почему то возвращает результат первой итерации, не знамо в чем глюк, пол дня просидел :(

Вот оно:

PHP:
function CatList($max, $dir, $turl, $list) {
   $path = strtok($path,"/")."/";
   $handle = opendir ($dir);
   if ($list =="") {$i = 0;} else {$i = sizeof($list);} 
   while (false !== ($file = readdir($handle))) {
      if ( $file != '.' && $file != '..' && $file !='index.php' && $file !='feedback.php' && is_file($dir.$file) ) {
         $list[$i][0] = date ("d.m.Y H:i:s", filemtime($dir.$file));
         $list[$i][1] = str_replace($path,"",$dir.$file);
         $i++; echo sizeof($list)."\r\n";
      }  
      if ($file != '.' && $file != '..' && is_dir($dir.$file)) {
         echo $file;
         CatList($max, $dir.$file."/", $turl, $list);
      }
   }
   echo "\r\n-".sizeof($list)."-\r\n";
   If ($max == 0 || $max > sizeof($list)) {
      $max = sizeof($list);
   }
   
   rsort ($list);
   reset ($list);

   for ($j = 0; $j < $max; $j++) {
      include($path.$list[$j][1]);
      $p_url = $turl."/".str_replace(".php", "", $list[$j][1]).".html";
      $catlist = $catlist."\r\n<p><a href=".$p_url.">".$postname."</a> <span class=date>".$list[$j][0]."</span><br>\r\n".$description."</p>\r\n"; 
   }
  return $catlist;
}
Может кто возьмется написать, wmz есть.
 

sovka

Новичок
Автор оригинала: Nicholas
я возьмусь =)
wmz нужны =)
Этот человек продемонстрировал способность быстро разобраться в чужом коде. Быстро устранил баг, написал новую функцию. При всем этом цена услуги доступная, спасибо.
 

itprog

Cruftsman
Этот человек продемонстрировал способность быстро разобраться в чужом коде. Быстро устранил баг, написал новую функцию.
:)))))

ps: на что только не идут, чтобы не открывать мануал и не взять нужный готовый код функции...
 

Zetruger

ivan.chistyakov.name
есть замечательная функция glob()
у этой функции есть замечательный флаг ONLY_DIR

сделать изходя из этого функцию glob_r
это вопрос ровно двух минут

стучи в асю
 
Сверху