我想用Storage::put
寫一個文件。該文件可能非常大(> 100MB),所以我想利用流,所以我不會盲目地將所有內容放入內存中。如何使用資源逐行寫入,但仍使用Laravel的內置存儲?
我將要做出多個API請求,然後遍歷它們的結果,因此我將回來的數據不是問題,它將被限制爲合理的數量。
按照documentation,我需要使用:
Storage::put('file.xml', $resource);
但是會$resource
在這裏?
傳統上,當使用PHP編寫文件時,我已經使用fopen
,fwrite
和fclose
的組合來完成它,以便「逐行寫入」。我正在通過循環遍歷各種集合並使用各種API來構建文件,因此$resource
是而不是文檔指針或文件引用是在文檔中的其他地方討論的。
那麼,我該如何使用流和Laravel的Storage
一行一行的寫?
如果要上傳不同名稱的文件,請使用'putFileAs'。 – ljubadr
'$ file'是[UploadedFile]的實例(https://laravel.com/api/5.3/Illuminate/Http/UploadedFile.html),所以你可以在那裏尋找可用的方法 – ljubadr
根據我的問題,我是沒有上傳文件,我沒有將文件流式傳輸到其他文件。我正在嘗試編寫一個純文本文件,我正在以流媒體的方式構建代碼。我已經設法使用'fopen'和'fwrite'非常輕鬆地編寫它,但是更喜歡內置的'Storage'方法。我開始認爲這是不可能的。 – Mike