isDot()) { if ($object->isDir()) { delete_directory($object->getPathname()); } else { unlink($object->getPathname()); } } } rmdir($dirPath); } else { if ($catch) { throw new Exception(__FUNCTION__ . '(dirPath): dirPath is not a directory!'); } else { //just keep going } } } function copy_directory($src, $dst) { if (file_exists($dst)) { rrmdir($dst); } if (is_dir($src)) { mkdir($dst); $files = scandir($src); foreach ($files as $file) { if ($file != "." && $file != "..") { copy_directory("$src/$file", "$dst/$file"); } } } elseif (file_exists($src)) { copy($src, $dst); } }