/** * Recursively deletes folder contents * @return boolean|null */ function delete() { if (!$this->exists()) { return; } $stream = new Directory\Stream($this); $reader = new Directory\Reader($stream); $stream->open(); while ($info = $reader->read()) { if ($info instanceof File) { unlink($info->getPath()); } elseif ($info instanceof Directory) { $info->delete(); } } $stream->close(); return $this->deleteEmpty(); }