Проверка файла в обезжиренном фреймворке

Я хочу загрузить несколько файлов любых типов, и, если проверка не пройдена, я также хочу отображать сообщения проверки.

Я следил за 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();
}
Другие вопросы по тегам