Загрузка файлов в Laravel
Чтобы браузер отправил файл,
у формы нужен атрибут
enctype="multipart/form-data"
и поле type="file":
<form action="/avatar" method="POST"
enctype="multipart/form-data">
@csrf
<input type="file" name="avatar">
<button type="submit">Upload</button>
</form>
В контроллере файл берут методом
file. Сохранение —
через store: папка и диск.
Laravel сам сгенерирует
уникальное имя:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AvatarController extends Controller
{
public function store(Request $request)
{
$path = $request->file('avatar')
->store('avatars', 'public');
// e.g. avatars/Xyz123.jpg
return $path;
}
}
?>
Своё имя — через storeAs:
<?php
$path = $request->file('avatar')
->storeAs('avatars', 'me.jpg', 'public');
?>
Сделайте форму с полем
avatar и сохраните
файл в avatars
на диске public.