SPL iterer avec recursiveDirectoryIterator
slt
j'ai un gros soucis avec RecursiveDirectoryIterator.
lorsque mes noms de repertoires sont des lettres ça ne fonctionne plus ????
j'ai le code suivant
Code:
1 2 3 4 5 6 7 8 9
|
public function galleryXML($directory,$extension=null){
$flags = \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::UNIX_PATHS;
$this->itr=new RecursiveDirectoryIterator($this->directory ,$flags);
$this->displayTree();
} |
puis ma function displayTree()
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
private function displayTree($itr = false){
if($itr === false) $itr= $this->itr;
while($itr->valid()) {
//répertoires
if($itr->isDir() AND !$itr->isDot()) {
echo "is dir";
//si le répertoire contient des 'enfants',
//on exécute cette méthode a nouveau avec
//l'itérateur ($itr->getChildren())
if($itr->hasChildren()) {
echo '<ul>'.$this->displayTree( $itr->getChildren() ).'</ul>';
}
} else {
//fichiers
if($itr->isFile()) {
echo '<li>'.$itr->getFilename().'</li>';
}
}
$itr->next();
} |
lorsque les noms de répertoires sont des chiffres ça marche, lorsque c'est des lettres il ne me voit pas les répertoires.
je ne comprend pas le soucis .........