ユーザ用ツール

サイト用ツール


プログラム言語:php:laravel:dbにファイルの中身を保存

【Laravel】DBにファイルの中身を保存&保存したデータをテキストファイルとしてダウンロード

1.DBにファイルの中身を保存

file_get_contents でファイルの内容を取得して、DBに保存するだけ。

  1. $mail_template = new MailTemplate();
  2. $mail_template->template = file_get_contents($request->file('template'));
  3. $mail_template->save();

2.DBに保存したデータをテキストファイルとしてダウンロード

日本語のファイル名を付けてダウンロードしたいときに、そのまま filename に日本語を指定すると、サーバー設定などによっては文字化けしてしまうが、RFC 6266 に準拠した書き方にすることで対処可能になる。

  1. public function download(MailTemplate $mail_template)
  2. {
  3. $filename = '日本語ファイル名.txt';
  4.  
  5. $headers = [
  6. 'Content-Type' => 'text/plain',
  7. 'Content-Disposition' => 'attachment; filename*=UTF-8\'\'' . rawurlencode($filename),
  8. ];
  9.  
  10. return response()->make($mail_template->template, 200, $headers);
  11. }

コメント

コメントを入力. Wiki文法が有効です:
 
プログラム言語/php/laravel/dbにファイルの中身を保存.txt · 最終更新: 2022/07/11 12:03 by humolife