Уникальность файлов

GA$

Guest
Уникальность файлов

Есть файлы на диске, в разных каталогах, файлы могут перемещатся и изменять свои имена, могут быть линки на файлы.
Вопрос, на сколько будет уникальны и будут ли совподать дать для переминованных файлов результаты функций md5_file и sha1_file? И какую функцию лучше использовать? Файлы имеют размер от 2-5 кб и до 800 мегов.
Может кто лучше способ посоветует, для хранения структуры каталогов? Пока я придумал хранить в БД для каталогов и файлов ИД родительских каталогов, hash сумму для файлов, ну и свякого рода служебную инфу (названия, размер и т.д.).
 

Quidle

Полноценный новичок
Что-то я не совсем осознал вопроса...
>>на сколько будет уникальны и будут ли совподать дать для переминованных файлов результаты
Переименованный файл - это уже другой файл и результат md5_file от него тоже будет другим.
 

GA$

Guest
Насколько я понял, md5_file подсчитывает hash от содержимого, а не от названия. Это так?
Ближе к вечеру попробую, посмотрю что получится. Вот только большие файлы md5_file долго проходит :/
 

Quidle

Полноценный новичок
А если сделать по md5 по имени вместо md5_file ?
Проблема с большими фалйами в таком случае отпадёт точно.
 

GA$

Guest
А если один фаил в разных директориях лежит? да еще и по другому завется? а описание к нему хочется одно. конечно можно копи-паст сделать, но не удобно при большом кол-ве файлов.
 

Quidle

Полноценный новичок
1. Под "именем" файла обычно понимается 'путь+имя_файла'.
2. А если у тебя на два фалйа с одинаковым именем будет одна линка ?

З.Ы. Я так до конца и не понял, чего же ты всё-таки хочешь ...
 

Alkinoy

Guest
он хочет что бы по СОДЕРЖИМОМУ файла однозначно его опредилить, не зависимо от названия и места, где он лежит.
В 2003 винде есть такая фича, там вычисляется именно хэш файла. можно например запретить запуск какого либо файла, и хоть ты его переименовывай, хоть бросай в разные каталоги - не запуститься )). Как я понял - тут хотят сделать что то типа такого.
 

GA$

Guest
Хотел, но не стал, после того как в каталоге в 10 гигабайт свой скрипт запустил :)
Буду придумывать другое.. Например сравнивая размеры и при совпадении уже вычеслять хеш.
 
Сверху