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";
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);
}
}
}