РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
602 of 1392 menu

Правило mimes

Правило mimes применяется к полю файла в валидации Laravel и проверяет, соответствует ли MIME-тип загружаемого файла разрешённому списку. Первым и единственным параметром передаётся список допустимых MIME-типов через запятую. Правило работает только с файлами, поэтому поле должно быть типа 'file' или 'image' в валидации.

Синтаксис

<?php 'field_name' => 'mimes:mime1,mime2,mime3' ?>

Пример

Давайте проверим, что загружаемый файл является изображением в формате JPEG или PNG:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class FileController extends Controller { public function upload(Request $request) { $validated = $request->validate([ 'photo' => 'required|file|mimes:jpeg,png' ]); return response()->json(['message' => 'File uploaded successfully']); } } ?>

Результат выполнения кода при загрузке PDF-файла:

["The photo must be a file of type: jpeg, png."]

Пример

Давайте разрешим загрузку документов в форматах PDF, DOC и DOCX:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class FileController extends Controller { public function upload(Request $request) { $validated = $request->validate([ 'document' => 'required|file|mimes:pdf,doc,docx' ]); return response()->json(['message' => 'Document uploaded successfully']); } } ?>

Результат выполнения кода при успешной загрузке:

["Document uploaded successfully"]

Пример

Давайте создадим класс запроса с кастомным сообщением об ошибке для правила mimes:

<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class FileUploadRequest extends FormRequest { public function rules() { return [ 'avatar' => 'required|image|mimes:jpeg,png,gif|max:2048' ]; } public function messages() { return [ 'avatar.mimes' => 'The avatar must be a JPEG, PNG, or GIF image.' ]; } } ?>

Результат выполнения кода при загрузке WebP-изображения:

["The avatar must be a JPEG, PNG, or GIF image."]

Пример

Давайте используем правило mimes вместе с другими правилами для комплексной валидации файла:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class FileController extends Controller { public function upload(Request $request) { $validated = $request->validate([ 'resume' => [ 'required', 'file', 'mimes:pdf,docx', 'max:5120', 'min:10' ] ]); return response()->json(['message' => 'Resume uploaded successfully']); } } ?>

Результат выполнения кода при успешной загрузке:

["Resume uploaded successfully"]

Смотрите также

  • правило mimetypes,
    которое проверяет MIME-тип файла по полному имени
  • правило file,
    которое проверяет, что поле является загруженным файлом
  • правило image,
    которое проверяет, что файл является изображением
  • правило dimensions,
    которое проверяет размеры изображения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить