3 namespace pharext\Task
;
7 use FilesystemIterator
;
8 use RecursiveDirectoryIterator
;
9 use RecursiveIteratorIterator
;
12 * Recursively cleanup FS entries
14 class Cleanup
implements Task
21 public function __construct($rm) {
26 * @param bool $verbose
28 public function run($verbose = false) {
29 if ($this->rm
instanceof Tempfile
) {
31 } elseif (is_dir($this->rm
)) {
32 $rdi = new RecursiveDirectoryIterator($this->rm
,
33 FilesystemIterator
::CURRENT_AS_SELF |
// needed for 5.5
34 FilesystemIterator
::KEY_AS_PATHNAME |
35 FilesystemIterator
::SKIP_DOTS
);
36 $rii = new RecursiveIteratorIterator($rdi,
37 RecursiveIteratorIterator
::CHILD_FIRST
);
38 foreach ($rii as $path => $child) {
39 if ($child->isDir()) {