inwebo
Messages postés380Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention23 octobre 2014
-
23 avril 2011 à 17:41
inwebo
Messages postés380Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention23 octobre 2014
-
23 avril 2011 à 19:38
Bonjour à tous,
Je suis en train de tester la SPL de PHP et plus précisément la class RecursiveDirectoryIterator. J'ai du mal à comprendre son fonctionnement et les retours effectués.
Organisation du répertoire :
[list]
[*] /
[*] /test/1/
[*] /test/2/
[*] /test/3/
[*] /test/4/
[*] inc.class.my.files.php
[*] index.php
/list Chaque dossier est vide.
Le contenu des fichiers
inc.class.my.files.php
<?php
Class MyRecursiveFiles extends RecursiveDirectoryIterator {
public $path;
public $nbrFiles;
public $nbrDirs;
public $totalSize;
public $ret = array();
public function __construct( $path ) {
$this->totalFiles = 0 ;
$this->totalDirs = 0 ;
$it = new RecursiveIteratorIterator( new RecursiveDirectoryIterator( $path, FilesystemIterator::SKIP_DOTS ) );
while( $it->valid() ) {
if( $it->isDir() ) {
echo $it->key();
}
$it->next();
}
}
}
?>
Pour quelles raisons cette classe liste-elle seulement le premier élément ?
Ne doit-elle pas parcourir l'ensemble des dossiers ?
Pourquoi n'indexe t-elle pas les dossiers vides ?
Le documentation est assez légère dans la SPL, j'ai bien fait le tour des différentes méthodes de parcours de d'arborescence, glob, globiterator, scandir etc ...