Нужно сформировать правильно сформировать условие, чтобы если массив $_FILES был не пуст и загружаемый файл был корректен, то выполнялось условие из блока elseif. Иначе - файл не выбран. Не пойму логической ошибки. if и else срабатывают, но elseif - нет. Спасибо.
if (!empty($_FILES['image']['name'])) {
$tmp_name = $_FILES['image']['tmp_name'];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$file_type = finfo_file($finfo, $tmp_name);
if ($file_type !== "image/jpeg") {
$valid_errors['image'] = 'Загрузите картинку в формате JPEG';
}
} elseif (!empty($_FILES['image']['name'])) {
$tmp_name = $_FILES['image']['tmp_name'];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$file_type = finfo_file($finfo, $tmp_name);
$filename = 'img' . DIRECTORY_SEPARATOR . uniqid() . '.jpg';
$lot['image'] = $filename;
move_uploaded_file($_FILES['image']['tmp_name'], __DIR__ . DIRECTORY_SEPARATOR . $filename);
} else {
$valid_errors['image'] = 'Вы не загрузили файл';
}