Je suis en train d'écrire et d'utiliser des classes php. Ceci est ma classe:Lecture Dir PHP classe - 1 seul fichier par retour
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();
Je veux obtenir chaque fichier ici et que vous voulez utiliser une autre classe où je peux faire quelque chose avec le fichier, plus tard. Si je décommente //echo "<p>$getFile</p>";
il montre tous les noms de fichiers.
Si je décommente //return $getFile;
et édite echo $new_UseDir->readDir();
il montre seulement le premier fichier du répertoire.
Pourquoi je n'ai qu'un seul fichier?
salutations, ebody
car une fonction peut seulement ** renvoyer ** une variable, mais elle peut ** imprimer ** un nombre infini. Bien sûr, vous pouvez construire un tableau et retourner le tableau. – developerwjk
Construire un tableau avec ces entrées. Une instruction 'return' quittera la fonction ou la méthode immédiatement. –
Essayez 'glob()' ou 'scandir()' à la place. –