function cp($wf, $wto) { // it moves $wf to $wto if (!file_exists($wto)) { //the improvement mkdir($wto, 0777); } $arr = ls_a($wf); foreach ($arr as $fn) { if ($fn) { $fl = "{$wf}/{$fn}"; $flto = "{$wto}/{$fn}"; if (is_dir($fl)) { cp($fl, $flto); } else { copy($fl, $flto); } } } }
function copy_dirs($wf, $wto) { if (!file_exists($wto)) { mkdir($wto, 0777); } $arr = ls_a($wf); foreach ($arr as $fn) { if ($fn) { $fl = $wf . "/" . $fn; $flto = $wto . "/" . $fn; if (is_dir($fl)) { copy_dirs($fl, $flto); } else { @copy($fl, $flto); chmod($flto, 0666); } // end 2nd improvement } } }
function cp($wf, $wto, $exclude = array()) { if (!file_exists($wf)) { return; } if (!file_exists($wto)) { mkdir($wto); } $arr = ls_a($wf); foreach ($arr as $fn) { if (in_array($fn, $exclude)) { continue; } if ($fn) { $fl = "{$wf}/{$fn}"; $flto = "{$wto}/{$fn}"; if (is_dir($fl)) { cp($fl, $flto); } else { copy($fl, $flto); } } } }