Вопрос:

Читать Dir PHP класс - только 1 файл по возвращении

php readdir

210 просмотра

1 ответ

15 Репутация автора

Я пытаюсь написать и использовать классы php. Это мой класс:

class UseDir
{

    public $varReadFilesFromDir;        

    public function readDir(){

        if (is_dir($this->varReadFilesFromDir)) 
        {
            if ($dirHandler = opendir($this->varReadFilesFromDir)) 
            {
                while (($getFile = readdir($dirHandler)) !== false) 
                {
                    if($getFile != "." && $getFile != ".."){

                        if (strpos($getFile, '.xml') === false){

                            continue;
                        }

                        //echo "<p>$getFile</p>";
                        //return $getFile;

                    }
                }
            }
            closedir($dirHandler);
        }
    }

}

$new_UseDir = new UseDir();

$new_UseDir->varReadFilesFromDir = "C:\dir\files";

$new_UseDir->readDir();

Я хочу получить каждый файл здесь и хочу использовать другой класс, где я могу что-то сделать с файлом позже. Если я раскомментирую, //echo "<p>$getFile</p>";он показывает все имена файлов.

Если я раскомментирую //return $getFile;и отредактирую, echo $new_UseDir->readDir();он покажет только первый файл из каталога.

Почему я получаю только 1 файл?

С уважением, Ebody

Автор: ebody Источник Размещён: 22.08.2016 09:39

Ответы (1)


0 плюса

2538 Репутация автора

Решение

Вы получите только один файл, потому что readdir возвращает только одно имя файла за вызов. Если вы хотите, чтобы все файлы в каталоге, вы должны сохранить каждое возвращенное имя файла, скажем, в массиве и вместо этого вернуть этот массив.

Автор: Striezel Размещён: 22.08.2016 09:44
Вопросы из категории :
32x32