• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/version.php
  • Класс: BitrixDiskVersion
  • Вызов: Version::createNewFile
public function createNewFile(Folder $targetFolder, int $createdBy, bool $generateUniqueName = false): ?File
{
	$this->errorCollection->clear();

	$forkFileId = CFile::CloneFile($this->getFileId());
	if (!$forkFileId)
	{
		$this->errorCollection[] = new Error('Could not copy file.', self::ERROR_COULD_NOT_CREATE_NEW_FILE);

		return null;
	}

	$newFile = $targetFolder->addFile([
		'NAME' => $this->getName(),
		'FILE_ID' => $forkFileId,
		'SIZE' => $this->getSize(),
		'CREATED_BY' => $createdBy,
	], [], $generateUniqueName);

	if (!$newFile)
	{
		CFile::delete($forkFileId);
		$this->errorCollection->add($targetFolder->getErrors());

		return null;
	}

	return $newFile;
}