• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/storage/bfile.php
  • Класс: BitrixDocumentGeneratorStorageBFile
  • Вызов: BFile::write
public function write($content, array $options = [])
{
	$result = parent::write($content, $options);
	if($result->isSuccess())
	{
		$filePath = $result->getId();
		$contentType = false;
		if(isset($options['contentType']))
		{
			$contentType = $options['contentType'];
		}
		if(!isset($options['MODULE_ID']))
		{
			$options['MODULE_ID'] = Driver::MODULE_ID;
		}
		$fileDescription = CFile::MakeFileArray($filePath, $contentType);
		if($fileDescription)
		{
			if(isset($options['fileName']))
			{
				$options['fileName'] = str_replace(' ', '_', Path::replaceInvalidFilename($options['fileName'], function()
				{
					return '_';
				}));
				$fileDescription['name'] = $fileDescription['fileName'] = $options['fileName'];
			}
			if(isset($options['MODULE_ID']))
			{
				$fileDescription['MODULE_ID'] = $options['MODULE_ID'];
			}
			$path = $this->getPath($fileDescription);
			$fileId = CFile::SaveFile($fileDescription, $path);
			parent::delete($filePath);
			$result->setId($fileId);
		}
		else
		{
			$result->addError(new Error('Cant get file description from '.$filePath));
		}
	}

	return $result;
}