gestion des doublons dans les noms mais avec un md5 différents.
This commit is contained in:
@@ -95,18 +95,22 @@ if ($handle = opendir('.')) {
|
||||
}
|
||||
|
||||
$file_dest = "$rep_dest/$entry";
|
||||
if (!file_exists($file_dest)) {
|
||||
rename($entry, $file_dest);
|
||||
logMessage($file_log, "Déplacé vers : $file_dest");
|
||||
file_put_contents($file_undo, "mv \"$file_dest\" \"$entry\"\n", FILE_APPEND);
|
||||
} else {
|
||||
if (file_exists($file_dest)) {
|
||||
$md5_src = md5_file($entry);
|
||||
$md5_dst = md5_file($file_dest);
|
||||
|
||||
if ($md5_src === $md5_dst) {
|
||||
unlink($entry);
|
||||
logMessage($file_log, "[ERREUR] Doublon détecté et supprimé : $file_dest");
|
||||
logMessage($file_log, "[INFO] Doublon exact détecté et supprimé : $file_dest");
|
||||
} else {
|
||||
logMessage($file_log, "[ERREUR] Conflit de fichier : $file_dest existe déjà mais avec un contenu différent.");
|
||||
// Générer un nom unique en ajoutant un suffixe MD5 ou un timestamp
|
||||
$file_info = pathinfo($entry);
|
||||
$new_filename = $file_info['filename'] . "_" . substr($md5_src, 0, 8) . "." . $file_info['extension'];
|
||||
$file_dest_unique = "$rep_dest/$new_filename";
|
||||
|
||||
rename($entry, $file_dest_unique);
|
||||
logMessage($file_log, "[INFO] Conflit évité, fichier renommé et déplacé : $file_dest_unique");
|
||||
file_put_contents($file_undo, "mv \"$file_dest_unique\" \"$entry\"\n", FILE_APPEND);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user