try { $filtre = new recursiveIteratorIterator(new FiltreRecursif('tablatures')); $filtre->setTabExt(array('gtp','gp3','gp4','gp5','zip','ptb','tef','pdf')); foreach ($filtre as $v) { echo $v->current().' '; } } catch (Format_Generique $e) { echo $e->toString(); }
class Recursif extends RecursiveFilterIterator { private $_Iterateur; private $_TabExtensions = array(); function __construct(RecursiveIterator $iterateur, array $tab_extensions) { $this->_Iterateur = $iterateur; $this->_TabExtensions = $tab_extensions; parent::__construct($this->_Iterateur); } function accept() { return $this->hasChildren() || in_array(pathinfo($this->current(), PATHINFO_EXTENSION), $this->_TabExtensions); } function getChildren() { return new self($this->getInnerIterator()->getChildren(), $this->_TabExtensions); } } try { $filtre = new RecursiveDirectoryIterator('le dossier'); $filtres = new Recursif($filtre,array('php','php5','css','htm','html','js')); foreach (new RecursiveIteratorIterator($filtres,RecursiveIteratorIterator::SELF_FIRST) as $v) { echo $v.' '; } } catch (Exception $e) { echo $e->__toString(); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question