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) {
30 printf("Cleaning up %s ...\n", $this->rm
);
32 if ($this->rm
instanceof Tempfile
) {
34 } elseif (is_dir($this->rm
)) {
35 $rdi = new RecursiveDirectoryIterator($this->rm
,
36 FilesystemIterator
::CURRENT_AS_SELF |
// needed for 5.5
37 FilesystemIterator
::KEY_AS_PATHNAME |
38 FilesystemIterator
::SKIP_DOTS
);
39 $rii = new RecursiveIteratorIterator($rdi,
40 RecursiveIteratorIterator
::CHILD_FIRST
);
41 foreach ($rii as $path => $child) {
42 if ($child->isDir()) {
49 } elseif (file_exists($this->rm
)) {