在我的應用程序中,用戶將上傳文件(小和大)。我wolud喜歡存儲文件在S3或FTP或任何其他存儲服務。使用PHP在後臺異步上傳文件的最佳方式是什麼?
我的計劃是使用AJAX(帶進度條)將文件從客戶端上傳到我的PHP服務器,然後將它們在後臺傳輸到目標存儲。我想要異步完成最後一部分(在後臺)。將文件從服務器上傳到存儲後,我還需要執行一些任務(如數據庫更新和清理)。
我以前的做法是使用nohup(類似於:How can I use nohup to run process as a background process in linux?),但它有一些缺點,我並沒有使用它。
我正在使用Laravel,所以我在考慮使用beanstalkd排隊。我知道隊列可以發送電子郵件,圖像處理和類似的東西,但我以前從未使用它,所以我不知道它是否適合上傳背景文件。這是一個好方法嗎?或者也許有更好的方法來做到這一點?
你試過[laravel.io](http://laravel.io/forum/03-18-2014-best-logic-for-implmenting-upload-progress-bar)哪個建議使用jQuery文件上傳 – DouglasDC3
客戶端上傳不是問題。問題是從我的PHP服務器上傳到S3等遠程存儲。 – TheJohnny
使用隊列並不是真正的解決方案,因爲您仍然需要將整個文件發送到隊列或將其存儲在tmp位置。你唯一能做的就是將它存儲在一個tmp位置,而不是有一個隊列觸發器將它上傳到S3。 – DouglasDC3