我正在编写一个文档管理系统。已请求的功能之一是用户能够使系统将某些文件复制到用户和 php 都可以访问的位置。从这里用户将能够直接编辑文件。需要发生的是,编辑后的文件必须作为新版本自动保存到文档管理系统中。我的问题是关于最后一点。
我有一个页面,允许用户查看特定文件的所有版本。我在想,当任何人访问此页面时,php会检查是否存在已编辑且现在已关闭的关联文件,然后将其移动到正确的位置并为其提供版本信息,这将是一件很酷的事情. 这可能吗?例如,如果用户正在使用 MS Word 编辑文件,php 是否能够知道该文件是否正在使用?如果是,如何?
另一种选择是只抓取所有定期编辑的文件(例如在巫师时间),并且还有一个方便的“同步”按钮,用户可以单击该按钮以表示他们已经完成。
这是我尝试过的一些东西:flock:我认为它对于正在使用的文件返回 false。错误的 fstat:据我所知没有返回任何有用的东西 unlink:我想我可能会复制文件然后尝试取消链接原始文件(用户编辑的)。事实证明 unlink 适用于打开的东西
有任何想法吗?
另外,它需要在windows和linux上工作......
以下是他们需要的一些说明:如果安德鲁要单击与 word 文件相对应的“编辑”按钮,则 word 文件将被复制到某个位置。然后,Andrew 将使用 MS Word 对其进行编辑,保存他的更改(可能不止一次)并关闭它。这就是我希望安德鲁做的一切。我希望我的代码看到文件已关闭,然后对其进行处理