使用php从远程服务器同步文件

时间:2012-01-24 19:19:29

标签: php file sync

我正在尝试使用Php创建一个桌面应用程序来同步远程服务器上的文件 如何检查文件是否被修改?

首先我想检查修改日期,但是当文件是服务器上的新文件时,可能会导致不需要的上传和下载。

在服务器中创建名为 sample.txt 的文件(修改日期:2012-01-24 10:00:00)。 当我第二天尝试同步时,我的应用程序将下载它(修改日期:2012-01-25 11:00:00)。之后,当应用程序检查同一文件夹时,它会尝试将其上传到服务器,因为文件修改日期在服务器和本地系统中是不同的。

那么如何跟踪像Dropbox这样的已更改文件呢?

2 个答案:

答案 0 :(得分:3)

您是否有理由自己编写(使用PHP,不能少 - 几乎没有针对桌面使用的语言)?例如,为什么不使用unison,它的设计正是您所要求的?

答案 1 :(得分:0)

如果你想比较2个文件以查看它们是否相同,那么你需要比仅仅比较修改日期更深入一些。您应该为每个文件生成一个哈希值,然后比较它们以查看它们是否不同。如果是这样,那么你就知道文件已经改变了。

$file1 = md5_file('file1.php');
$file2 = md5_file('file2.php');

if ($file1 != $file2) {
   //file has changed
}