• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/webdavtmpfile.php
  • Класс: CWebDavTmpFile
  • Вызов: CWebDavTmpFile::buildFromDownloaded
static function buildFromDownloaded(array $downloadedFile)
{
	/** @var CWebDavTmpFile $model  */
	$model = new static();
	$model->version = time();
	list($model->path, $model->name) = static::generatePath();

	if (($downloadedFile['error'] = intval($downloadedFile['error'])) > 0)
	{
		if ($downloadedFile['error'] < 3)
		{
			throw new WebDavTmpFileErrorException('UPLOAD_MAX_FILESIZE: ' . intval(ini_get('upload_max_filesize')));
		}
		else
		{
			throw new WebDavTmpFileErrorException('UPLOAD_ERROR ' . $downloadedFile['error']);
		}
	}
	else
	{
		//check permission? success download
	}
	if(!is_uploaded_file($downloadedFile['tmp_name']))
	{
		throw new WebDavTmpFileErrorException('UPLOAD_ERROR');
	}

	if(!move_uploaded_file($downloadedFile['tmp_name'], $model->getAbsolutePath()))
	{
		throw new WebDavTmpFileErrorException('Error in move');
	}

	return $model;
}