我正在尝试编写和使用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
答案 0 :(得分:0)
您只能获得一个文件,因为readdir每次调用只返回一个文件名。如果你想要目录中的所有文件,你必须将每个返回的文件名存储在 - 比如说 - 一个数组并返回该数组。