diff --git a/local/bin/trierPhotos.php b/local/bin/trierPhotos.php index 381d7aa..c93e125 100755 --- a/local/bin/trierPhotos.php +++ b/local/bin/trierPhotos.php @@ -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); } } }