2011-06-27 33 views
1

我有一個本地的PHP Web應用程序,每天都會更新新的內容和更新的內容。這是MYSQL5中的商店。同步現場服務器的文件系統中的圖像

我還維護一個相關圖像的文件系統,這些圖像是由mysql中的表跟蹤的。我沒有走下blob路線 - 這是使用Linux文件系統。

執行了數據的每日更新什麼是同步圖像與服務器的最佳方法?

我使用的是PHP5,但並不利於外部調度程序的工作。

我的圖片存儲在這樣的順序:

media/id/imagename.jpg 

即。

media/123/123_1.jpg 
media/123/123_2.jpg 
media/1234/1234_1.jpg 
media/1234/1234_2.jpg 

回答

1

Nomrally在回答如何保持同步的文件的問題是使用設計作業的工具 - 像rsync的,或使用複製/共享文件系統。不過就你而言,大概你想用mysql記錄來反映文件的狀態。

爲了做到這一點,我會建議編寫一對PHP腳本(一個在發送端,一個在接收端)。爲了在這裏增加一些安全性,我不會讓接收端捕獲任何舊數據 - 而是讓原始服務器向提供元數據的接收端發出請求 - 然後接收端會將圖像數據從原點發送到創建副本(並在完成時寫入mysql記錄)。

考慮實施某種事務控制也許是一個好主意 - 以確保兩端無需複製每個文件即可同步。

+0

如果說實話這是我在早期版本中實現的,但是我在輪詢這麼多的信息時,它在記錄的基礎上花費了很長時間。 所以我認爲最好是一氣呵成,然後一口氣上傳。它沒有發生在我(當天晚些時候),如果我做了一個mysql主從同步,圖像將不會出現,直到大量上傳。 幫助! – user492681

+0

行 - 那麼爲什麼不使用mysql複製來複制元數據,然後在404處理程序中實現文件複製? – symcbean

+0

請你詳細說明一下 - 特別是關於404處理程序。我不知道你要去哪裏。謝謝 – user492681

相關問題