Правило image
Правило image применяется к полям формы, которые принимают загружаемые файлы, и проверяет, что файл является изображением. Это правило использует расширение файла и MIME-тип для проверки. Правило можно комбинировать с другими правилами, такими как mimes, max, min и dimensions для более точной валидации изображений.
Синтаксис
<?php
'field' => 'image'
?>
Пример
Давайте проверим, что загруженный файл в поле 'avatar' является изображением:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateRoutingController;
class UserController extends Controller
{
public function updateAvatar(Request $request)
{
$validated = $request->validate([
'avatar' => 'image'
]);
return response()->json(['message' => 'Avatar updated successfully']);
}
}
?>
Пример
Давайте проверим, что загружаемое изображение имеет максимальный размер 2048 килобайт и допустимые MIME-типы:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateRoutingController;
class ProfileController extends Controller
{
public function uploadPhoto(Request $request)
{
$validated = $request->validate([
'photo' => 'image|max:2048|mimes:jpeg,png,jpg,gif'
]);
return response()->json(['message' => 'Photo uploaded successfully']);
}
}
?>
Пример
Давайте проверим, что изображение соответствует заданным размерам с помощью правила dimensions:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateRoutingController;
use IlluminateValidationRule;
class GalleryController extends Controller
{
public function store(Request $request)
{
$validated = $request->validate([
'image' => [
'image',
'max:4096',
Rule::dimensions()->maxWidth(1920)->maxHeight(1080)
]
]);
return response()->json(['message' => 'Image uploaded successfully']);
}
}
?>