Проверка правильности нескольких входных изображений из массива форм HTML

У меня есть следующие поля в форме HTMl,

<div class="col-md-6"><input type="file" name="images[]"></div>
<div class="col-md-6"><input type="file" name="images[]"></div>
<div class="col-md-6"><input type="file" name="images[]"></div>
<div class="col-md-6"><input type="file" name="images[]"></div>
<div class="col-md-6"><input type="file" name="images[]"></div>
<div class="col-md-6"><input type="file" name="images[]"></div>

Когда я отправляю форму, я получаю массив изображений [] в PHP. Я использую Laravel Framework для проверки формы. Я использовал валидатор и правила. Но я хочу применить правило обязательного и максимального размера для каждого изображения из вышеуказанного массива. Благодарю.

1

Решение

Вот пример кода моей проверки изображений:

// Handle upload(s) with input name "files[]" (array) or "files" (single file upload)

if (Input::hasFile('files')) {
$all_uploads = Input::file('files');

// Make sure it really is an array
if (!is_array($all_uploads)) {
$all_uploads = array($all_uploads);
}

$error_messages = array();

// Loop through all uploaded files
foreach ($all_uploads as $upload) {
// Ignore array member if it's not an UploadedFile object, just to be extra safe
if (!is_a($upload, 'Symfony\Component\HttpFoundation\File\UploadedFile')) {
continue;
}

$validator = Validator::make(
array('file' => $upload),
array('file' => 'required|mimes:jpeg,png|image|max:1000')
);

if ($validator->passes()) {
// Do something
} else {
// Collect error messages
$error_messages[] = 'File "' . $upload->getClientOriginalName() . '":' . $validator->messages()->first('file');
}
}

// Redirect, return JSON, whatever...
return $error_messages;
} else {
// No files have been uploaded
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]