public function updateCoverFront() { //Удаляем старую подложку обложки foreach (UserUrl::$IMAGE_SIZE as $image_size => $value) { $file_path = UserUrl::styleCoverFront(false, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($this->cover_front_key, $image_size, 'png'); if (file_exists($file_path)) { unlink($file_path); } } $file = UploadedFile::getInstance($this, 'photo'); if ($file) { if ($file->size !== 0) { $file_id = AlphaId::id(rand(10000000000, 9999999999999)); $file_path = UserUrl::styleCoverFront(false, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($file_id, UserUrl::IMAGE_ORIGINAL, 'png'); $file->saveAs($file_path); foreach (UserUrl::$IMAGE_SIZE as $image_size => $param) { if ($image_size == UserUrl::IMAGE_ORIGINAL) { continue; } $image = Yii::$app->image->load($file_path); $type = Yii\image\drivers\Image::WIDTH; $file_resize_path = UserUrl::styleCoverFront(false, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($file_id, $image_size, 'png'); $image->resize($param['width'], $param['height'], $type); $image->save($file_resize_path); } $this->cover_front_key = $file_id; if (!$this->save()) { return ['error' => ['msg' => Yii::t('app', 'Ошибка записи в базу-данных')]]; } else { return ['response' => ['status' => true, 'cover_front_key' => $file_id, 'cover_front_thumb_url' => UserUrl::styleCoverFront(true, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($file_id, UserUrl::IMAGE_THUMB, 'png')]]; } } else { return ['error' => ['msg' => Yii::t('app', 'Данные не получены')]]; } } else { return ['error' => ['msg' => Yii::t('app', 'Данные не получены')]]; } }