public function createImage() { /* @var $modelImages \common\models\Images */ /* @var $modelImagesOfObject \common\models\ImagesOfObject */ $paramsCrop = Json::decode($this->imageData['imageCrop']); $model = new ImageForm(); $model->image = UploadedFile::getInstance($model, 'image'); //d($model->image); if ($model->validate()) { $smallFileName = time() . '_' . Yii::$app->user->id . '_small.' . $model->image->extension; // будущее имя миниатюры $fileName = time() . '_' . Yii::$app->user->id . '.' . $model->image->extension; // будущее имя $modelImages = new Images(); $modelImages->path_small_image = $this->imageData['imagePath'] . $smallFileName; // изображение с путем $modelImages->path = $this->imageData['imagePath'] . $fileName; // изображение с путем $modelImages->size = $model->image->size; // размер изображения $modelImages->status = 0; // статус проверки $modelImages->temp = $this->imageData['images_temp']; // статус временного файла /*$transaction = Yii::$app->db->beginTransaction(); try {*/ if ($modelImages->save()) { $modelImagesOfObject = new ImagesOfObject(); $modelImagesOfObject->image_id = $modelImages->id; $modelImagesOfObject->object_id = $this->imageData['object_id']; $modelImagesOfObject->label = $this->imageData['images_label']; if ($modelImagesOfObject->save()) { FileHelper::createDirectory('images/' . $this->imageData['imagePath'], $mode = 509); // создаем папку if ($model->image->saveAs('images/' . $this->imageData['imagePath'] . $fileName)) { // файл в папку $image = Image::getImagine(); $newImage = $image->open('images/' . $this->imageData['imagePath'] . $fileName); // получаем записаный файл $newImage->rotate($paramsCrop['rotate']); if ($newImage->crop(new Point($paramsCrop['x'], $paramsCrop['y']), new Box($paramsCrop['width'], $paramsCrop['height']))->save('images/' . $this->imageData['imagePath'] . $fileName)) { $newImage = $image->open('images/' . $this->imageData['imagePath'] . $fileName); // создание миниатюры $newImage->thumbnail(new Box($this->imageData['imageSmallWidth'], $this->imageData['imageSmallHeight']))->save('images/' . $this->imageData['imagePath'] . $smallFileName); //$transaction->commit(); //d(1); } } \Yii::$app->session->set('image', $modelImages->id); // если объект сохранился, записываем ID в сессию \Yii::$app->session->remove('error'); } } else { //d(2); \Yii::$app->session->set('error', 'Изображение не добавлено.'); // если все в порядке, пишем в сессию путь к изображениею \Yii::$app->session->remove('image'); } /*} catch (Exception $e) { $transaction->rollBack(); }*/ //dd([$model->errors, $modelImages->errors, $modelImagesOfObject->errors]); } else { //dd($model->errors); \Yii::$app->session->set('error', $model->errors['image']['0']); // если все в порядке, пишем в сессию путь к изображениею \Yii::$app->session->remove('image'); } }