ファイルをアップロードする
ファイルをアップロードするフォーム
<form action="file/upload" method="post" enctype="multipart/form-data">
@csrf
<input type="file" name="file" id="file">
<input type="submit" value="送信">
</form>
enctype=”multipart/form-data”
の属性と値が必要。
アップロードされたファイルの情報を取得する
// アップロード時のオリジナルのファイル名
$original_file_name = $request->file('file')->getClientOriginalName();
// アップロードされたファイルのmimeタイプ
$type = $request->file('file')->getMimeType();
アップロードされたファイルを指定したパスへ保存する
// pitFile()でリクエストオブジェクトに含まれるfileを指定したパスへ保存する(下記でいうと、storage/app/files以下)
Storage::disk('local')->putFile('files', $request->file('file'));
デフォルトで
storage/app/
へ保存される。
アップロードされたファイルを指定したパスへ保存しつつ、保存されたときのランダムなファイル名を取得する
$upload_file_name = Storage::disk('public')->putFile('files', $request->file('file'));
ランダムに付けられたファイル名を取得することができる。上記の場合、「files/」のディレクトリ名が頭についたファイル名が取得できる。