2012-05-31 52 views
2

下面我有一個問題中提到:PHP - 從其他服務器下載文件,並在並行transmt同一用戶

將有多個服務器,例如a.com,b.com,b1.com等。 用戶將始終登錄到a.com並請求將出現在任何b.com,b1.com等服務器上的文件。所有fiels都出現在名稱從「b」開始的服務器上。

該應用程序將連接到b1.com並找到該文件。 現在我想要一種方式從b1.com下載文件,而用戶不知道它實際上來自b1.com。有沒有辦法可以將文件從b服務器直接下載到用戶desktop/pc?或者有什麼辦法,當文件從「b」下載到「a」時,我可以開始從「a」到「用戶」的文件傳輸

我不想先下載完整的文件從b到一個用戶,然後到用戶,因爲它會使傳輸時間加倍,這會在文件很大時影響性能。

任何解決這個問題的想法?我在服務器端使用PHP。任何其他解決方案也是可喜的。

+0

編寫一個ftp腳本 – Satya

回答

1

使用fsockopenfopen連接到您的b服務器,發送標頭的客戶表示文件類型的觸發下載,然後在循環中使用fread下載在一個時刻的文件,8 KB,使用output bufferingob_flush() )將8 KB刷新到用戶,並重復,直到文件完成下載。

OR

,以避免這一切,你可以考慮使用Apache的mod_proxy模塊。

+1

您可以使用stream_copy_to_stream而不是fread/fwrite循環。但正如你所說,代理是更好的:) –

+0

良好的電話@傑克 – Ansari

相關問題