/** * Save uploaded file into [[$uploadPath]] * @param boolean $deleteOldFile If true and file exists, file will be deleted. * @return boolean|null if success return true, fault return false. * Return null mean no uploaded file. */ public function saveUploadedFile($deleteOldFile = null) { /* @var $file UploadedFile */ $file = $this->{$this->attribute}; if ($file !== null) { $callback = $this->saveCallback; if ($callback !== null && is_string($callback)) { $callback = [$this->owner, $callback]; } $model = FileModel::saveAs($file, ['uploadPath' => $this->uploadPath, 'directoryLevel' => $this->directoryLevel, 'saveCallback' => $callback]); if ($model) { if ($this->savedAttribute !== null) { if ($deleteOldFile === null) { $deleteOldFile = $this->deleteOldFile; } $oldId = $this->owner->{$this->savedAttribute}; $this->owner->{$this->savedAttribute} = $model->id; if ($deleteOldFile && ($oldModel = FileModel::findOne($oldId)) !== null) { return $oldModel->delete(); } } return true; } return false; } }
/** * Save uploaded file into [[$uploadPath]] * @param boolean $deleteOldFile If true and file exists, file will be deleted. * @return boolean|null if success return true, fault return false. * Return null mean no uploaded file. */ public function saveUploadedFile($deleteOldFile = null) { /* @var $file UploadedFile */ $file = $this->{$this->attribute}; if ($file !== null) { $model = FileModel::saveAs($file, $this->uploadPath, $this->directoryLevel); if ($model) { if ($this->savedAttribute !== null) { if ($deleteOldFile === null) { $deleteOldFile = $this->deleteOldFile; } $oldId = $this->owner->{$this->savedAttribute}; $this->owner->{$this->savedAttribute} = $model->id; if ($deleteOldFile && ($oldModel = FileModel::findOne($oldId)) !== null) { return $oldModel->delete(); } } return true; } return false; } }