webアプリからcsvファイルのダウンロードのロジック
(一時保存型と直接出力ダウンロード型のメリットとデメリット)
Webを調べてもわからないため、どうぞ、助けていただけますと幸いです。
dbの内容をcsvファイルでダウンロードするアプリケーションの設計についてです。
■一時ファイルを作成するタイプ。
参考サイト
https://b-risk.jp/blog/2020/10/csv_download/
上記のサイトのようにサーバー上にcsvファイルを生成し、それをダウンロードするタイプのものも多くあります。
上記のサイトはシンプルなものですが、このタイプ実装だと次の処理をイメージしています。
1:dbの内容をcsvファイルで非公開領域に保存。
※複数ユーザーからの同時処理に備えて、ファイル名はランダムな文字列として生成する。
2:1で生成したcsvファイルをcsvファイル用のヘッダーをつけて、そしてわかりやすいファイ名でクライアントに送る。
3:サーバー内のcsvファイルのうち不要となったものを削除。
という流れになるかと思います。
一方で、
■直接出力するタイプ。
https://bazuo.hatenadiary.org/entry/20101001/1285916733
上記のサイトにあるように、サーバー内にcsvファイルを作ることなく、
ダイレクトにcsv出力される方もおられます。
この場合ですと、
・非公開領域の作成は不要
・ランダムファイル名の作成も不要。
・サーバー内の不要なファイルの削除もいらない。
などが特徴と思います。こちらの方法が優れているように感じます。
もし、直接出力することを極力さけて実装される方がいらっしゃいましたら、その理由をお知らせいただければ、とても助かります。どうぞよろしくお願いします。
言語はphpです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。