读取目录 PHP class - return 只有 1 个文件

Read Dir PHP class - only 1 file by return

我正在尝试编写和使用 php classes。这是我的 class:

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();

我想在这里获取每个文件,并想使用另一个 class,稍后我可以在其中对文件进行处理。如果我取消注释 //echo "<p>$getFile</p>"; 它会显示所有文件名。

如果我取消注释 //return $getFile; 并编辑 echo $new_UseDir->readDir();,它只会显示目录中的第一个文件。

为什么我只得到 1 个文件?

此致, 人体

你只会得到一个文件,因为readdir每次调用只有return一个文件名。如果您想要目录中的所有文件,则必须将每个 returned 文件名存储在 - 比方说 - 一个数组中,而不是 return 该数组。