POO - RecursiveDirectoryIterator
Posté : 23 avr. 2011, 18:12
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 :
/
/test/1/
/test/2/
/test/3/
/test/4/
inc.class.my.files.php
index.php
Chaque dossier est vide.
Le contenu des fichiers
inc.class.my.files.php
index.php
Retour du script :
Retour attendu
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 ...
Merci d'avance
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 :
/
/test/1/
/test/2/
/test/3/
/test/4/
inc.class.my.files.php
index.php
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();
}
}
}
?>
index.php
<?php
include('inc.class.my.files.php');
try {
$path = 'test/';
$listAllItems = new MyRecursiveFiles( $path );
}
catch ( Exception $e ) {
echo $e->getMessage();
}
?>
Retours Retour du script :
Code : Tout sélectionner
test\1
Code : Tout sélectionner
test\1
test\2
test\3
test\4
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 ...
Merci d'avance