Проверка файла в обезжиренном фреймворке
Я хочу загрузить несколько файлов любых типов, и, если проверка не пройдена, я также хочу отображать сообщения проверки.
Я следил за F3 док. и этот код пропускает перемещение файла только в том случае, если файл не прошел проверку проверки.
$f3->route('GET|POST|PUT /uploadfile',
function($f3) use($db){
$f3->set('UPLOADS','uploads/');
$overwrite = false; Default: false
$slug = true;
$web = \Web::instance();
$files = $web->receive(function($file){
if($file['size'] > (2 * 1024 * 1024))
return false;
// everything went fine, hurray!
return true;
},
$overwrite,
$slug
);
}
);
Как отобразить сообщение пользователю при неудачной проверке? Любая помощь очень ценится. Благодарю.
1 ответ
Решение
Это зависит от вас, как вы справляетесь с этим. В основном, при загрузке нескольких файлов, вы, вероятно, хотите отслеживать ошибки, которые вы производите в массиве, поэтому, возможно, так:
$web = \Web::instance();
$errors=[];
$files = $web->receive(function($file) use ($errors) {
if($file['size'] > (2 * 1024 * 1024)) {
$errors[ $file['name'] ] = 'File too large';
return false;
}
return true;
},
$overwrite,$slug
);
if ($errors) {
$f3->status(413);
echo json_encode($errors);
exit();
}