• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/file.php
  • Класс: Bitrix\Disk\File
  • Вызов: File::uploadVersion
public function uploadVersion(array $fileArray, $createdBy, array $options = [])
{
	$this->errorCollection->clear();

	if(!isset($fileArray['MODULE_ID']))
	{
		$fileArray['MODULE_ID'] = Driver::INTERNAL_MODULE_ID;
	}

	if(empty($fileArray['type']))
	{
		$fileArray['type'] = '';
	}
	$fileArray['type'] = TypeFile::normalizeMimeType($fileArray['type'], $this->name);


	$fileId = CFile::saveFile($fileArray, Driver::INTERNAL_MODULE_ID, true, true);
	if(!$fileId)
	{
		$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_FILE_MODEL_ERROR_COULD_NOT_SAVE_FILE'), self::ERROR_COULD_NOT_SAVE_FILE)));
		return null;
	}
	$updateTime = isset($fileArray['UPDATE_TIME'])? $fileArray['UPDATE_TIME'] : null;
	/** @var array $fileArray */

	$fileArray = CFile::getFileArray($fileId);
	if(!$fileArray)
	{
		CFile::delete($fileId);
		$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_FILE_MODEL_ERROR_COULD_NOT_SAVE_FILE'), self::ERROR_COULD_NOT_GET_SAVED_FILE)));
		return null;
	}
	if($updateTime)
	{
		$fileArray['UPDATE_TIME'] = $updateTime;
	}
	$version = $this->addVersion($fileArray, $createdBy, false, $options);
	if(!$version)
	{
		CFile::delete($fileId);
	}

	return $version;
}