ダウンロードしたファイル(私の.txtファイルの場合)をオンザフライで生成する最適な方法は何ですか?これは私が以前にサーバーにファイルを格納せずに意味します。理解のために、ここで私を成し遂げるために必要なものです:laravel5.3オンザフライでダウンロードファイル(.txt)を生成
public function getDesktopDownload(Request $request){
$txt = "Logs ";
//offer the content of txt as a download (logs.txt)
$headers = ['Content-type' => 'text/plain', 'Content-Disposition' => sprintf('attachment; filename="test.txt"'), 'Content-Length' => sizeof($txt)];
return Response::make($txt, 200, $headers);
}
ファイルサイズがphpの許容メモリを超えると失敗します。したがって、phpが128MBのメモリを持ち、ファイルサイズが128 MBを超える場合、メモリに関する致命的なエラーが発生するため、代わりにストリームレスポンスで解決できます大きなファイルの問題。それはチャンクでファイルを送信します。以下の回答を確認してください。 –
@Pratik Boda上記のコードを編集しました。問題は、ダウンロード用に取得したファイルで、文字「L」が含まれています。どこがうまくいかないのか? – wichtel
@wichtel foreachループを削除して、$ txt = "this is test"を追加してみてください。同じo/pを生成する –