/** * Upload file */ public function uploadAction() { \Auth::check(); $file = new File(); $file->userId = $_SESSION['uid']; $file->deleted = 0; $errors = []; $successMessage = ''; try { $uploadedCount = $file->getUploadedCount(); if ($_FILES["filename"]["size"] > MAX_FILE_SIZE) { $errors[] = "Размер файла превышает три мегабайта"; } elseif (!is_uploaded_file($_FILES["filename"]["tmp_name"])) { $errors[] = "Ошибка загрузки файла"; } elseif ($uploadedCount >= MAX_UPLOADED_FILES) { $errors[] = "Превышено допустимое количество файлов (" . MAX_UPLOADED_FILES . ")"; } else { $file->name = $_FILES["filename"]['name']; $file->save(); move_uploaded_file($_FILES["filename"]["tmp_name"], FILE_STORAGE_PATH . $this->getHashedFileName($file)); $successMessage = 'файл загружен'; } } catch (\Exception $e) { $errors[] = "Ошибка загрузки файла"; } $this->show('files', $this->getVarsArray($errors, $successMessage)); }