public static function CopyRecursive($Source, $Destination) { $Directory = opendir($Source); if (!file_exists($Destination)) { @mkdir($Destination); } while (false !== ($File = readdir($Directory))) { if ($File != '.' && $File != '..') { if (is_dir($Source . '/' . $File)) { File::CopyRecursive($Source . '/' . $File, $Destination . '/' . $File); } else { copy($Source . '/' . $File, $Destination . '/' . $File); } } } closedir($Directory); }