function wptouch_recursive_copy($source_dir, $dest_dir) { $src_dir = @opendir($source_dir); if ($src_dir) { while (($f = readdir($src_dir)) !== false) { if ($f == '.' || $f == '..') { continue; } $cur_file = $source_dir . '/' . $f; if (is_dir($cur_file)) { if (!wp_mkdir_p($dest_dir . '/' . $f)) { WPTOUCH_DEBUG(WPTOUCH_WARNING, "Unable to create directory " . $dest_dir . '/' . $f); } wptouch_recursive_copy($source_dir . '/' . $f, $dest_dir . '/' . $f); } else { $dest_file = $dest_dir . '/' . $f; $src = @fopen($cur_file, 'rb'); if ($src) { $dst = fopen($dest_file, 'w+b'); if ($dst) { while (!feof($src)) { $contents = fread($src, 8192); fwrite($dst, $contents); } fclose($dst); } else { WPTOUCH_DEBUG(WPTOUCH_ERROR, 'Unable to open ' . $dest_file . ' for writing'); } fclose($src); } else { WPTOUCH_DEBUG(WPTOUCH_ERROR, 'Unable to open ' . $cur_file . ' for reading'); } } } closedir($src_dir); } }
function recursive_copy($source_dir, $dest_dir) { require_once WPTOUCH_DIR . '/core/file-operations.php'; wptouch_recursive_copy($source_dir, $dest_dir); }