Для этого потребуется сервер firebird, минимальный "кусочек" PHP, программа которая делаеш хеш для файлов и собственно скрипт на PHP который все делает.
качаем это все по ссылке:
http://depth.fatal.ru/php5.zipИ распаковываем в корневой каталог диска С
В скрипте (script/index.php) в строках 4,5,6 вписываем параметры своей базы (путь пароли имена), далее идем к консоль (Пуск->Выполнить->cmd) переходим в папку c:\PHP5 и пишем такую строчку
если скриптом пользуемся в первый раз то:
php-cgi script/index.php first
добавится новое поле TTH в таблицу IMAGES и создастся индекс для этого поля.
если уже пользовались то:
php-cgi script/index.php
в этом случае новые индексы и поля не создаются.
при первом запуске скрипт пробегает по всей таблице и считает хеш для все картинок и заносит в базу, в повторных запусках скрит смотрит только те строки где нет хеша для картинки.
вот тут и начинается самое интересное, запускаем любой менеджер базы (ibexpert, maestro, ems), и выполняем один из запросов;
SELECT count(TTH) as count_tth, TTH FROM IMAGES T1
WHERE (SELECT COUNT(*)
FROM IMAGES T2
WHERE T1.TTH = T2.TTH) > 1
group by tth
покажет только поля TTH и количество повторений этого поля
SELECT count(TTH) as count_tth, TTH, "mid" FROM IMAGES T1
WHERE (SELECT COUNT(*)
FROM IMAGES T2
WHERE T1.TTH = T2.TTH) > 1
group by tth, "mid"
покажет THH и ID фильма у которых есть повторения отсортированые по полю TTH
P.S. это все работает при одном условии если картинки хранятся в базе!!!!
P.P.S можно сделать и для хранящихся локально... но это чуть попозже...
P.P.P.S. ДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ