Я пытаюсь писать и использовать классы 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
Вы получите только один файл, потому что READDIR возвращает только одно имя файла за вызов. Если вы хотите, чтобы все файлы в каталоге, вы должны хранить каждое возвращенное имя файла, скажем, в массиве, и возвращать этот массив.
Других решений пока нет …