Автор Тема: Список файлов в подкаталоге  (Прочитано 2403 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Daiz13

  • наблюдатель
  • Постоялец
  • ***
  • Сообщений: 150
  • +0/-0
  • 2
    • Просмотр профиля
    • http://rg.com.ua/
Список файлов в подкаталоге
« : 27 Мая 2001, 03:52:25 »
Ситуация такова:
есть функция создающая список файлов в заданом каталоге

function list_articles($base){
$basedir = opendir("$base");
while ($file = readdir($basedir))
{  if ($file != \'.\' && $file != \'..\' && eregi(".php","$file"))
        {$fname=substr($file,0,strlen($file)-4);
        print("$fname
"); flush();}
}
closedir($basedir);
}

если вызывать для корневого каталога, где находиться сам скрипт
list_articles(".");
все ОК, но если
list_articles("./articles");
то функция останавливаеться после первого файла.
Ну и как жить дальше?

Оффлайн Daiz13

  • наблюдатель
  • Постоялец
  • ***
  • Сообщений: 150
  • +0/-0
  • 2
    • Просмотр профиля
    • http://rg.com.ua/
Список файлов в подкаталоге
« Ответ #1 : 27 Мая 2001, 18:12:18 »
Извиняюсь.
Стараясь сократить вопрос я вырезал из кода самое главное - причину ошибки. Указаная в вопросе функция перебирает все файлы в указаном каталоге, и одинаково правильно работает как для "articles" так и для "./articles". Но...
Полученые имена файлов она передает функции get_title_tag() указаной ниже. Эта функция ищет в файле строку \'TITLE="_название_страницы_";\' и как результат возвращает \'_название_страницы_\'.
Дело в том, что для текущего каталога все работает прекрасно, а при попытке работать с подкаталогами - не хочет. Выглядит все так, будто она просто не находит искомую строку. Все это тестирую локально, под Виндой, может тут какие нюансы есть?

Вот сама функция:
**************************************
function get_title_tag($cfile){
    $fp = fopen ($cfile, \'r\');
    $rc=5;
    while (! feof ($fp) && ($rc>0) ){
         $content .= fgets ($fp, 1024);
         if (stristr($content, \'TITLE\' )) {break;}
    $rc--;
         }
    if (eregi(\'TITLE="(.*)";\', $content, $out)) {return $out[1];}
    else {return false;}
    }
**************************************

  • Гость
Список файлов в подкаталоге
« Ответ #2 : 27 Мая 2001, 18:25:52 »
А если просто "/articles" , без точки.

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Список файлов в подкаталоге
« Ответ #3 : 28 Мая 2001, 10:52:06 »
наверное лучше полный путь указать
ну, будем исповедоваться?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28