public function actionUpload() { include __DIR__ . "./../uploader/Uploader.php"; $upload_dir = \Yii::$app->getModule("file")->getStorageDir(); $uploader = new \FileUpload('uploadfile'); $fileModel = new File(); $realName = $_GET["uploadfile"]; // Handle the upload $isUplaoded = $uploader->handleUpload($upload_dir); $result = false; $errorMsg = ''; if ($isUplaoded) { $fileModel = new File(); $fileModel->setAttribute("real_name", $realName); $fileModel->setAttribute("name_on_server", $uploader->getSavedFileName()); $fileModel->setAttribute("size", $uploader->getFileSize()); if (!$fileModel->save()) { $uploader->rollBack(); $errorMsg = "Entity save error"; } else { if (!empty($_GET["relateTo"])) { if (!$fileModel->linkWith($_GET["relateTo"])) { $uploader->rollBack(); $fileModel->delete(); $errorMsg = "Entity link error"; } else { $result = true; } } else { $result = true; } } } else { $errorMsg = $uploader->getErrorMsg(); } if ($result) { echo json_encode(array('success' => true)); } else { exit(json_encode(['success' => false, 'msg' => $errorMsg])); } }