From afbb026fd703ed8ac40bcee474c559a21aa2dc99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Sun, 16 Mar 2025 23:53:48 +0100 Subject: [PATCH] =?UTF-8?q?gestion=20des=20doublons=20dans=20les=20noms=20?= =?UTF-8?q?mais=20avec=20un=20md5=20diff=C3=A9rents.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- local/bin/trierPhotos.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) 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); } } }