Dropbox用于修订历史记录的内容是什么?我该如何添加自己的?

时间:2012-07-11 14:46:50

标签: php

Dropbox最简洁的功能之一就是它保留了您上传文件的先前版本。

我们网站的一部分是类似的文件存储库(客户上传文件以将其存储在异地),我们希望实现类似的功能。

Dropbox如何管理修订?他们是否使用自动提交每个文件的搁置修订软件?或者他们只是推出自己的解决方案?

我希望有一个我可以使用的第三方库,因为这不是我们有时间从头开始做的事情。

感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:4)

他们很可能使用自定义解决方案。您可以查看的可能方法是在文件系统上为每个版本存储单独的文件,在数据库中为每个版本存储单独的文件,或者为修订的文件计算差异并存储该文件。

第三种选择是最好的,因为它使用的空间最小。

看看xdiff_file_bdiff(),它会计算两个文件的二元差异(旧版本和新版本)。 xdiff库应该为您提供执行此操作所需的工具。您还可以使用git等版本控制,只需使用PHP自动执行该过程。你可能想要运行一些基准来看看哪种解决方案最快。