function recurseCopy($src, $dst, $del = false) { $dir = opendir($src); if (!file_exists($dst)) { mkdir($dst); } while (false !== ($file = readdir($dir))) { if ($file != '.' && $file != '..') { if (is_dir($src . DIRECTORY_SEPARATOR . $file)) { recurseCopy($src . DIRECTORY_SEPARATOR . $file, $dst . DIRECTORY_SEPARATOR . $file, $del); } else { copy($src . DIRECTORY_SEPARATOR . $file, $dst . DIRECTORY_SEPARATOR . $file); if ($del && is_writable($src . DIRECTORY_SEPARATOR . $file)) { unlink($src . DIRECTORY_SEPARATOR . $file); } } } } closedir($dir); if ($del && is_writable($src)) { rmdir($src); } }
public function recurseCopy($src, $dst) { $dir = opendir($src); @mkdir($dst); while (false !== ($file = readdir($dir))) { if ($file != '.' && $file != '..') { if (is_dir($src . '/' . $file)) { recurseCopy($src . '/' . $file, $dst . '/' . $file); } else { copy($src . '/' . $file, $dst . '/' . $file); } } } closedir($dir); }