/** * Uploads the attachement and redirects to the home page * @param int $id */ public function actionAttachment($id) { $model1 = new CongressDetails(); if ($model1->load(Yii::$app->request->post())) { $model1->attachment = UploadedFile::getInstance($model1, 'attachment'); if ($model1->attachment) { if ($model1->attachment->saveAs('uploads/' . $model1->attachment->baseName . '.' . $model1->attachment->extension)) { $attachment = "uploads/" . $model1->attachment->name; Yii::$app->db->createCommand("UPDATE congress_details SET attachment='{$attachment}' WHERE id={$id}")->execute(); } } return $this->redirect(array('site/index')); } }
/** * Import congress using spreadsheet * @return mixed */ public function actionExcel() { $model = new CongressDetails(); if ($model->load(Yii::$app->request->post())) { $model->fileName = UploadedFile::getInstance($model, 'fileName'); $time = time(); $model->fileName->saveAs('csv/' . $time . '.' . $model->fileName->extension); $model->fileName = 'csv/' . $time . '.' . $model->fileName->extension; $handle = fopen($model->fileName, "r"); while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { $sql = "INSERT into congress_details(name,start_date,end_date,location,venue,image,description) values('{$data['0']}','{$data['1']}','{$data['2']}','{$data['3']}','{$data['4']}','{$data['5']}','{$data['6']}')"; Yii::$app->db->createCommand($sql)->execute(); } fclose($handle); return $this->redirect(Url::home()); } return $this->render('excel', ['model' => $model]); }