2012-09-21 63 views
2

我需要在Server_1上實現Wordpress(或其他一些CMS)網站,當用戶上傳文件時,它們被傳輸到另一個Server_2,由某個應用程序處理並返回到Server_1,下載它或查看。由於文件可能很大,我發現最好的解決方案是FTP傳輸,如下所示:http://www.designaeon.com/transfer-files-bw-servers-php 傳輸文件時,應啓動Server_2上的應用程序,並在處理完文件後將它們返回給Server_1。在2臺服務器之間傳輸文件並提供反饋

所以我的問題是:什麼是最好的方式來實現呢?

我應該使用php和ftp傳輸和一些偵聽器來檢查Server_2上的文件夾,如果文件被處理或者一些外部應用程序檢查文件夾每隔幾分鐘並複製到另一個服務器文件...我將不勝感激關於如何實施這個和在哪裏看。

預先感謝您!

+0

過去如何實現這一點,首先是將文件分割爲1mb塊,如果文件大於20mb,則使用curl_multi將所有塊發佈到接收者腳本,將這些段組合回到一起。單個連接速度更快。 Tho ftp是一個選項。 –

+0

感謝您的快速響應!我在最後2天試圖如何實現這一點,但沒有運氣。你能告訴我一些基本的代碼,如何在發送者和接收者端完成一個。非常感謝你。 – user1688686

+0

如果您必須傳輸文件,我建議使用rsync移動文件和基於inotify的腳本來觸發處理。但是,如果您只是直接上載到Server_2並從那裏提供處理的內容,則可以大大簡化您的過程。 –

回答

0

這是一個可行的方法:

  1. Server_1上,主持人剛上傳的文件在一個祕密,通過HTTP訪問的文件夾。
  2. 在Server_2上,託管一個能夠下載,處理和輸出文件的php。
  3. 當文件被上傳,把它放在訪問的文件夾,然後用捲曲或wget來查詢PHP上的Server_2將網址傳遞到新上傳的文件(即wget http://server_2/path/to/processor.php?file=http://server_1/path/to/secret/dir/original.pdf
  4. processor.php然後將下載文件,將其修改並作爲響應將其寫回到Server_1上的curl或wget進程
  5. 在Server_1上有curl或wget進程將修改後的文件保存到所需的位置。