Upload zip file contains .db file

Hi everyone,

When I upload zip file contains .db file, I have a issue: Database is saved but zip file is not save by path.

My view:

<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
			    <?= $form->field($model, 'name')->input('text')->label('Name') ?>
			    <?= $form->field($model, 'uploadFile')->fileInput([ 'required'=>'required'])->label('Choose file') ?>
			  	<?= $form->field($model, 'description')->textarea() ?>
			    <div class="form-group">
			    	<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
			    	<?= Html::a('Back', ['/input-file'], ['class'=>'btn btn-danger']) ?>
			    </div>
			<?php ActiveForm::end(); ?>

My Controller

 public function actionCreate()  
    {
        $username  = Yii::$app->user->identity->username;
        $model = new UploadInputFile();
        if ($model->load(Yii::$app->request->post())) {
            $model->uploadFile = UploadedFile::getInstance($model, 'uploadFile');
            date_default_timezone_set("Asia/Ho_Chi_Minh");
            $datetime  = date('Y-m-d H:i:s');
            $suffixx    = date('YmdHis', time());

            if(empty($model->uploadFile->name)){
                $model->addError('uploadFile', 'you have to choce a file !');
                return $this->render('create', compact('model'));
            }
            if(strpos($model->uploadFile->name,'.zip')){
                $file_name = substr($model->uploadFile->name, 0, strpos($model->uploadFile->name, '.zip')).$username;
            } else{
                $file_name = substr($model->uploadFile->name, 0, strpos($model->uploadFile->name, '.xls')).$username;
                 $model->uploadFile->name = $file_name;
            }
           
            if ($model->upload()) {
                // insert to db
                $modelInputFile = new InputFile();
                $modelInputFile->name        = $model->name;
                $modelInputFile->description = $model->description;
                $modelInputFile->value       = $model->json;
                $modelInputFile->file_name   = $file_name;
                $modelInputFile->created_at  = $datetime;
                $modelInputFile->updated_at  = $datetime;
                $modelInputFile->user_id  = Yii::$app->user->getId();

                if ($modelInputFile->save()) {
                    return $this->redirect('index');
                }

                //check file_name 
                if( $model->uploadFile->name === $modelInputFile->file_name ){
                    $model->addError('uploadFile', 'Please change another name !');
                    return $this->render('create', compact('model'));
                }
            }
            else{
                $model->addError('uploadFile', 'Please change another name !');
                return $this->render('create', compact('model'));
            }

            
        }

        return $this->render('create', compact('model'));
    }

My Model

 public function rules()
    {
        return [
            [['name'], 'required'],
            [['description'], 'safe'],
            [['uploadFile'], 'file', 'extensions' => 'xls, xlsx, zip, db', 'skipOnEmpty' => false],

        ];
    }

    public function upload($update = 'false')  
    {    
        $username  = Yii::$app->user->identity->username;
        $uploadFileName = $this->uploadFile->name;
        if($update == 'true'){
           $uploadFileName = $uploadFileName.'.zip';
        }
        
        if(strpos($uploadFileName,'.zip')){
            $arr = scandir(Yii::$app->basePath.'/uploads/input/');
            $file_name = substr($uploadFileName, 0, strpos($uploadFileName, '.zip'));
            if(strpos($file_name,$username)){
                $file_name = substr($file_name,0,strpos($file_name,$username));
            }
            $filePath = Yii::$app->basePath.'/uploads/input/'.$file_name.$username.".zip";
             foreach ($arr as $key => $value) {
                if ($value != "." && $value != "..") {
                    if($value == $file_name.$username){
                            return false;
                        }
                        else{
                            continue;
                        }
                }
            }
            
            $this->uploadFile->saveAs($filePath);
            $zip = new \ZipArchive();
            $res = $zip->open($filePath);
            if ($res === TRUE) {
                 // Extract file
                 $zip->extractTo(Yii::$app->basePath.'/uploads/input/');
                 $zip->close();
                    rename(Yii::$app->basePath.'/uploads/input/'.$file_name,Yii::$app->basePath.'/uploads/input/'.$file_name.$username);
                $path = Yii::$app->basePath.'/uploads/input/'.$file_name.$username."/".$file_name.$username;
                rename(Yii::$app->basePath.'/uploads/input/'.$file_name.$username."/".$file_name.".xlsx",$path);
                 $this->json = Yii::$app->converter->readFile($path);
            }
            return true;
        }
        else{
            $filePath = Yii::$app->basePath.'/uploads/input/'.$this->uploadFile->name;
            $arr = scandir(Yii::$app->basePath.'/uploads/input/');
            foreach ($arr as $key => $value) {
                if ($value != "." && $value != "..") {
                    if($value == $this->uploadFile->name){
                            return false;
                        }
                        else{
                            continue; 
                        }
                }
            }
            $this->uploadFile->saveAs( $filePath);
            $this->json = Yii::$app->converter->readFile($filePath);
            return true;   
           
        }
    }

This is my mistake or yii2’s mistake or any update?
Thanks everyone!

I have dealt with this problem. The reason is that I uploaded a heavy file and my memory is not enough.