Ejemplo n.º 1
0
 public function actionFile()
 {
     \Yii::$app->response->format = Response::FORMAT_JSON;
     if (\Yii::$app->request->isPost) {
         $book = new Book();
         $book->imageFile = UploadedFile::getInstanceByName('imageFile');
         $book->bookFile = UploadedFile::getInstanceByName('bookFile');
         if (!$book->validate(['imageFile', 'bookFile'])) {
             \Yii::$app->response->statusCode = 400;
             return ['status' => 'Err', 'errors' => $book->getErrors()];
         } else {
             if (!empty($book->imageFile)) {
                 $fileDir = \Yii::$app->basePath . '/web/image/book/tmp/1/';
                 if (!file_exists($fileDir)) {
                     mkdir($fileDir, 0755, true);
                 }
                 array_map('unlink', glob(\Yii::$app->basePath . $fileDir . '*'));
                 $book->imageFile->saveAs($fileDir . $book->imageFile->baseName . '.' . $book->imageFile->extension);
             }
             if (!empty($book->bookFile)) {
                 $fileDir = \Yii::$app->basePath . '/files/tmp/book-form/1/book-file/';
                 if (!file_exists($fileDir)) {
                     mkdir($fileDir, 0755, true);
                 }
                 $book->bookFile->saveAs($fileDir . $book->bookFile->baseName . '.' . $book->bookFile->extension);
             }
             \Yii::$app->response->statusCode = 200;
             return ['status' => 'OK'];
         }
     }
     if (\Yii::$app->request->isGet) {
         if (!empty(\Yii::$app->request->get('remove')) && !empty(\Yii::$app->request->get('file'))) {
             unlink(\Yii::$app->basePath . '/files/tmp/book-form/1/book-file/' . \Yii::$app->request->get('file'));
             \Yii::$app->response->statusCode = 200;
             return ['status' => 'OK'];
         }
     }
 }