ecco fatto, spero che vada!
function full_copy($source, $destination) {
if (is_dir($source)) {
@mkdir($destination);
$d = dir($source);
while(FALSE !== ($entry = $d->read())) {
if ($entry == '.' || $entry == '..') {
continue;
}
$Entry = $source . '/' . $entry;
if (is_dir($Entry)) {
full_copy($Entry, $destination . '/' . $entry);
continue;
}
if (!file_exists($destination . "/" . $entry)) {
copy($Entry, $destination . '/' . $entry);
}
}
$d->close();
} else {
if (!file_exists($destination)) {
copy($source, $destination);
}
}
}