2012-01-24 54 views
0

我正在嘗試使用Php創建桌面應用程序來同步遠程服務器中的文件。
如何檢查文件是否被修改?使用php從遠程服務器同步文件

首先我想檢查修改日期,但是當文件在服務器上是新的時,它可能會導致不需要的上載和下載。

讓一個名爲的文件在服務器中創建sample.txt(修改日期:2012-01-24 10:00:00)。 當我試圖在第二天同步這個,我的應用程序將下載它(修改日期:2012-01-25 11:00:00)。之後,當應用程序檢查相同的文件夾時,它會嘗試將相同的文件上傳到服務器,因爲文件修改日期在服務器和本地系統中不同。

那麼,如何跟蹤Dropbox所做的更改文件?

回答

3

是否有一個原因,你正在尋找自己的(與PHP,不少 - 幾乎沒有優化的桌面上使用的語言)?爲什麼不使用,例如,unison,這是專爲您正在請求?

+0

其實我需要一個SugarSync的Linux客戶端。 [先生。 Mark Willis](http://mwillis.co.uk/)爲sugarsync創建了一個[linux客戶端](https://github.com/markwillis82/Sugar-Sync-Linux-Client)。但該項目似乎不活躍,需要進行更多更改。爲了滿足我的需要,我想編輯代碼。它也可以幫助別人;) – RSK

0

如果您想比較2個文件以查看它們是否相同,那麼您需要比僅比較修改日期更深入一點。您應該爲每個文件生成一個散列,然後比較這些散列是否不同。如果是這樣,那麼你知道文件已經改變。

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

if ($file1 != $file2) { 
    //file has changed 
} 
相關問題