Php файл загружает и предотвращает дублирование - PullRequest
0 голосов
/ 09 сентября 2011

Я хотел бы создать форму загрузки с php. Проблема заключается в том, что он будет использоваться для загрузки текстового файла с фиксированной длиной строки, который будет содержать заказы. (полная информация о заказе будет продублирована для каждой строки).

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

Файл не имеет уникального идентификатора. Мне интересно, какой лучший способ проверить, что файл не совпадает. Одним из решений является вычисление MD5 для каждого файла и его сохранение, но я не уверен насчет параллелизма и того, сработает ли он, и сколько файлов нужно сравнить.

Единственное решение, которое я могу выяснить, это сохранить max (20), например, в файле и использовать flock () для этого файла, чтобы избежать проблем с параллелизмом. Как и программа А проверяет, существует ли файл через md5, программа Б проверяет, существует ли файл через md5 (они могут быть из не обновленного, поэтому я думаю, что я должен использовать эксклюзивную блокировку .... Любое другое решение?

1 Ответ

0 голосов
/ 09 сентября 2011

Сохраните хэш MD5 (или SHA1) и размер файла в базе данных.Индексируйте хеш.

Чтобы проверить наличие дубликатов, просто найдите в базе данных файл с таким же хешем и размером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...