O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

22.10 Dateien eines Verzeichnisses filtern

Problem

Sie wollen etwas mit allen Dateien eines Verzeichnisses machen, die bestimmten Kriterien entsprechen. Beispielsweise wollen Sie nur Dateien bearbeiten, die eine bestimmte Größe haben und nicht älter als ein bestimmtes Datum sind oder nicht tiefer als in einer bestimmten Ebene in Unterverzeichnissen liegen.

Lösung

Setzen Sie einen FilterIterator ein, dessen accept()-Methode die nötigen Kriterien überprüft:

class ComplexFilterIterator extends FilterIterator { public $maxSize; public $maxLevels; public $maxAge; public function __construct($iterator, $maxSize, $maxLevels, $maxAge) { parent::__construct($iterator); $this->maxSize = $maxSize; // maximale Größe in Bytes $this->maxLevels = $maxLevels; // ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required