В Datso Gallery File Type Not Supported!

Статус
В этой теме нельзя размещать новые ответы.
Вылез новый глюк! Теперь картинки импортируются, но появляются дубли, т.е. одна и та же картинка под разными заголовками (не физическими именами файлов) при пакетном импорте, типа: Название 1 и Название 2 в БД и админке всё прописано, но ссылаются на один и тот же, уже обработанный скриптом, физический файл вида: 332434833-14.jpg. Причём может в БД подменить ранее загруженный, в пакетном же режиме, файл. В результате, в галерее – несколько раз повторяются одинаковые имиджи с разными подписями – кино и немцы!:mad:
Есть ли лекарство от такого? Йаду не предлагать! :nezn:
Спасибо!
 
Заметил некую закономерность. Если заружать последовательно, один за другим несколько BatchImport-архивов, и если имена файлов в них повторяются, то файлы с одинаковыми именами заменяются на вновь подгруженные:nezn: во как!
 
посмотрел код - похоже, если грузишь в один каталог картинки с одинаковыми именами - новая картинка переписывает старую:

речь идет о файле admin.datsogallery.php

$numpic = sprintf("%u", crc32($origfilename)) . '-' . $catid;
...
$newfilename = $numpic . '.' . strtolower($imginfo[2]);

как наиболее простое решение можно добавлять к оригинальному имени файла некий отличительный хвостик, который будет создавать разницу, т.е. вместо
$numpic = sprintf("%u", crc32($origfilename)) . '-' . $catid;
написать
$numpic = sprintf("%u", crc32($origfilename.rand())) . '-' . $catid;

вероятность того, что в одном каталоге попадутся два одинаковых файла и генератор псевдослучайных чисел выдаст одно и то=же значение или контрольная сумма для разных файлов совпадет, конечно есть, но эта вероятность достаточно мала.

по хорошему же конечно правильней или применить md5 вместо crc32 или же проверять наличие файла с таким-же именем.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху