Доброго времени суток. Делаю модуль загрузки файлов, и появился такой вопрос. Как можно проверить файл на дубликат? Чтобы повторно не загружать один и тот же файл. Может есть у mp3 файла какой нибудь свой id?
И кто нибудь знает хороший, небольшой класс для работы с загрузкой mp3 файлов?
Заранее благодарю.
можно только сравнить по размеру или титле, и то не выйде, проще сделать можерацию файлов и проверять вручну
Сравнить файлы по их хэшу.
Потому что две фотографии (к примеру) могут иметь одно название, но содержание одного будет отличным от другого.
# Andrei4ik93 (13.07.2015 / 12:34)
А как хэш получит?
Могу ошибаться, нужно проверять, при загрузке файла он во временной директории имеет вид *hash*.tmp. Если моё предположение ошибочно, то можно проверить хэш у этого временного файла.
Вопрос не стоял, как не загружать одинаковый файл с проверкой ДО загрузки.
# Andrei4ik93 (13.07.2015 / 12:34)
А как хэш получит?
Для этого и существуют такие функции, как
md5_file() &&
sha1_file()
Только хеш файла надо записывать в БД при его загрузке. Потом будет проще проверить наличие файла с таким же хешем. Так как БД это БД, там всё просто и быстро, а вот проверять каждый раз на совпадение хеши всех загруженных файлов...
ValekS, т.е. хеш берется из имени файла? если этот же файл переименовать то хеш уже будет другой?
Имя файла не влияет на хэш, влияет изменение файла.
Например есть 2 файла:
lol.mp3 и qwerty.mp3 если эти мелодии одинаково звучат, значит хэш будет одинаковый, а если например файл lol.mp3 изменить, то хэш уже не будет совпадать с хэшэм qwerty.mp3