gestion des doublons dans les noms mais avec un md5 différents.

This commit is contained in:
2025-03-16 23:53:48 +01:00
parent 1caeb5022a
commit afbb026fd7

View File

@@ -95,18 +95,22 @@ if ($handle = opendir('.')) {
} }
$file_dest = "$rep_dest/$entry"; $file_dest = "$rep_dest/$entry";
if (!file_exists($file_dest)) { 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 {
$md5_src = md5_file($entry); $md5_src = md5_file($entry);
$md5_dst = md5_file($file_dest); $md5_dst = md5_file($file_dest);
if ($md5_src === $md5_dst) { if ($md5_src === $md5_dst) {
unlink($entry); 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 { } 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);
} }
} }
} }