- 基本的なファイルのアップロード:
Laravelでは、
Illuminate\Http\Request
クラスを使用してファイルのアップロードを処理することができます。以下は、基本的なファイルのアップロード方法の例です。
public function uploadFile(Request $request)
{
if ($request->hasFile('file')) {
$file = $request->file('file');
$fileName = $file->getClientOriginalName();
$file->storeAs('uploads', $fileName);
// アップロード成功の処理を追加する
return "ファイルがアップロードされました。";
}
return "ファイルが選択されていません。";
}
- バリデーションを使用したファイルのアップロード: ファイルのバリデーションを行うことで、ファイルのサイズやフォーマットの制限を設定することができます。以下は、バリデーションを使用したファイルのアップロード方法の例です。
public function uploadFile(Request $request)
{
$request->validate([
'file' => 'required|file|max:2048', // 最大2MBまでのファイルを許可
]);
if ($request->hasFile('file')) {
$file = $request->file('file');
$fileName = $file->getClientOriginalName();
$file->storeAs('uploads', $fileName);
// アップロード成功の処理を追加する
return "ファイルがアップロードされました。";
}
return "ファイルが選択されていません。";
}
- 複数のファイルのアップロード:
複数のファイルを同時にアップロードする場合は、
multiple
属性を使用したフォームを作成し、file
メソッドで配列としてファイルを取得します。以下は、複数のファイルのアップロード方法の例です。
public function uploadFiles(Request $request)
{
if ($request->hasFile('files')) {
$files = $request->file('files');
foreach ($files as $file) {
$fileName = $file->getClientOriginalName();
$file->storeAs('uploads', $fileName);
// アップロード成功の処理を追加する
}
return "ファイルがアップロードされました。";
}
return "ファイルが選択されていません。";
}
これらはLaravel 9におけるファイルのアップロード方法の一部です。他にも、ファイルのストレージやクラウドストレージへのアップロード、アップロードされたファイルの処理など、さまざまな機能が提供されています。詳細な情報については、Laravelの公式ドキュメントを参照してください。