阅读Dir PHP类 - 返回只有1个文件

时间:2016-08-22 21:39:58

标签: php readdir

我正在尝试编写和使用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

1 个答案:

答案 0 :(得分:0)

您只能获得一个文件,因为readdir每次调用只返回一个文件名。如果你想要目录中的所有文件,你必须将每个返回的文件名存储在 - 比如说 - 一个数组并返回该数组。