Проблемы с readdir

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 23 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Здравствуйте.
    PHP:
    foreach ($words as $word) {
    while(
    $name=readdir($dir)) {
    echo 
    "Commands"; } }
    Цикл форич отрабатывает необходимое количество раз.
    Но цикл вайл отрабатывает только один, первый раз.
    Пробовал

    PHP:
    unset($name);
    $name ='';
    $name = array();
    Ничего не помогло.
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Может надо

    PHP:
    foreach ($words as $word) { 
    while(
    false !== ($name=readdir($dir))) { 
    echo 
    "Commands"; } } 
    ? Логика то логичной становится.
     
  3. FreShBY

    FreShBY Создатель

    Регистр.:
    8 авг 2009
    Сообщения:
    12
    Симпатии:
    1
    а откуда у вас $dir ? я тока $word вижу
     
  4. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Dir обявляется выше.


    Пробовал так - не помогло.
     
  5. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    попробуйте glob или scandir

    пока неясно, что там мешает.
     
  6. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Крутился с этим readdir.
    Не получается никак.

    Выход найден благодаря tostrss.
    Использую
    PHP:
    scarndir и затем в форич
    .

    Кто знает, почему риддир не работает - подскажите, уж очень любопытно.
     
  7. naydav

    naydav Писатель

    Регистр.:
    10 июн 2008
    Сообщения:
    7
    Симпатии:
    1
    Покажите, как у вас $dir инициализирутся

    ВАЖНО, в $dir должно быть НЕ путь к папке, а ее дескриптор, который можно получить, например так:

    А вообще-то смотрите, что происходит

    Вы запускаете цикл (foreach ($words as $word)
    А в цикле, выполняется ОДНО И ТОЖЕ действие
    false !== ($name=readdir($dir)

    Может параметры из цикла $word, должны влиять на выбор папки $dir?

    Допустим у вас 10 слов в массиве $words, мы проходим их по циклу, а действие в цикле одно и тоже
    $name=readdir($dir), никаких изменений, в разных итерациях цикла
     
Статус темы:
Закрыта.