人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel で ファイルをアップロードする

● Blade テンプレートに以下を記述してフォームタグを生成

{{ Form::file('myfile', ['class' => $class_name]) }}

( Form::text の場合は 2番目の引数に値をセットしますが、Form::file はセットしません。 )

● ファイル名を「お任せ」で保存する

コントローラーに以下を記述

$file_store_dir = 'img/';
$file_store_disk = 'local';  // local または public または s3
$file_name = $request->myfile->store($file_store_dir, $file_store_disk );

● ファイル名を指定して保存する

コントローラーに以下を記述

$ext = pathinfo($request->myfile->hashName(), PATHINFO_EXTENSION);	// ファイル名から拡張子を取得
$file_store_dir = 'img/';
$file_store_file_name = $id.".{$ext}"; // IDに拡張子をつけたものを保存ファイル名とする
$file_store_disk = 'local';  // local または public または s3
$file_name = $request->myfile->storeAs($file_store_dir, $file_store_file_name, $file_store_disk );  	// ディレクトリ, ファイル名, ディスク
No.1434
02/01 17:39

edit