/** * загрузка файла с данными * @return type */ public function actionUpload() { $model = new UploadForm(); if (Yii::$app->request->isPost) { $model->file = UploadedFile::getInstance($model, 'file'); if (!$model->file || !in_array($model->file->extension, ['xls', 'ods'])) { return $this->render('upload', ['model' => $model]); } $datetime = new \DateTime(); $filename = $datetime->format('Y_m_d_H_i_s') . '.' . $model->file->extension; if ($model->validate() && $model->file->saveAs('/tmp/' . $filename)) { $result = Functions::loadData('/tmp/' . $filename, $model->talon); if (is_int($result)) { $model->file->saveAs('../uploads/' . $filename); unlink('/tmp/' . $filename); $this->redirect(['//firms/view', 'id' => $result]); } else { unlink('/tmp/' . $filename); $model->addError('file', $result); } } } return $this->render('upload', ['model' => $model]); }