X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fpharext%2FTask%2FCleanup.php;h=3684806e62094c91f38a73ae8ad962d4510c7424;hb=337e76964be2ed6724633ac477affc3a28426c97;hp=1263bd966e33f0399dac123c2d9e6a401996ed15;hpb=e990b6dabecbdaf98b8d8b2173b0d697f9b2b754;p=pharext%2Fpharext diff --git a/src/pharext/Task/Cleanup.php b/src/pharext/Task/Cleanup.php index 1263bd9..3684806 100644 --- a/src/pharext/Task/Cleanup.php +++ b/src/pharext/Task/Cleanup.php @@ -26,14 +26,20 @@ class Cleanup implements Task * @param bool $verbose */ public function run($verbose = false) { - if (is_dir($this->rm)) { + if ($verbose) { + printf("Cleaning up %s ...\n", $this->rm); + } + if ($this->rm instanceof Tempfile) { + unset($this->rm); + } elseif (is_dir($this->rm)) { $rdi = new RecursiveDirectoryIterator($this->rm, - FilesystemIterator::CURRENT_AS_PATHNAME | + FilesystemIterator::CURRENT_AS_SELF | // needed for 5.5 + FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::SKIP_DOTS); $rii = new RecursiveIteratorIterator($rdi, RecursiveIteratorIterator::CHILD_FIRST); - foreach ($rii as $path) { - if ($rii->isDir()) { + foreach ($rii as $path => $child) { + if ($child->isDir()) { rmdir($path); } else { unlink($path);