<?php namespace kernel\helpers; use FilesystemIterator; class Files { public function copy_folder($d1, $d2): void { if (is_dir($d1)) { if (!file_exists($d2)){ $_d2 = mkdir($d2, permissions: 0755, recursive: true); if (!$_d2) { return; } } $d = dir($d1); while (false !== ($entry = $d->read())) { if ($entry != '.' && $entry != '..') { $this->copy_folder("$d1/$entry", "$d2/$entry"); } } $d->close(); } else { copy($d1, $d2); } } public function recursiveRemoveDir($dir): void { $includes = new FilesystemIterator($dir); foreach ($includes as $include) { if(is_dir($include) && !is_link($include)) { $this->recursiveRemoveDir($include); } else { unlink($include); } } rmdir($dir); } }