- Home
- Categorie
- Coding e Sistemistica
- PHP
- Copiare cartella, files e sottocartelle senza sovrascrivere
-
Copiare cartella, files e sottocartelle senza sovrascrivere
Ciao,
ho questo script per copiare una cartella con relativi files e sottocartelle da un server a un altro.
E' è possibile fare in modo che non sovrascriva sempre tutto, ma semplicemente salti i files (non le cartelle) con lo stesso nome??
Grazie!!
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;
}
copy( $Entry, $destination . '/' . $entry );
}
$d->close();
}else{
copy( $source, $destination );
}
}
-
Prima di copiare il file, puoi controllare con file_exists() se il file esiste nella cartella di destinazione.
-
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);
}
}
}