我想用php创建一个上传表单。问题是它将用于上传包含订单的固定行长文本文件。 (每行的完整订单详细信息将重复)。
然后它应该将文件放在某处并调用一个程序来读取文件并下订单。问题是我想阻止将相同的订单文件发送到订单程序。
该文件没有任何唯一标识符。我想知道哪个是检查文件不一样的最佳方法。一种解决方案是为每个文件计算MD5并存储它们,但我不确定是否可靠,以及这是否有效以及要比较的文件数量。
这个唯一的解决方案我可以弄清楚它可以将一些max(20)存储到一个文件中,并对这个文件使用flock()来避免出现问题。就像程序A通过md5检查文件是否存在一样,程序B通过md5检查文件是否存在(它们可能来自未更新的,这就是为什么我认为我应该使用独占锁.... 还有其他解决办法吗?
答案 0 :(得分:0)
将MD5哈希(或SHA1)和文件大小存储在数据库中。索引哈希。
要检查重复项,只需在数据库中搜索具有相同散列和大小的文件。