• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/temp_file.php
  • Класс: CCloudTempFile
  • Вызов: CCloudTempFile::GetFileName
static function GetFileName($obBucket, $file_name = '')
{
	$dir_name = self::GetAbsoluteRoot();
	$file_name = rel2abs("/", "/".$file_name);
	$temp_path = "";
	$i = 0;
	while (true)
	{
		$i++;

		if ($file_name == '/')
		{
			$dir_add = md5(mt_rand());
		}
		elseif ($i < 25)
		{
			$dir_add = mb_substr(md5(mt_rand()), 0, 3);
		}
		else
		{
			$dir_add = md5(mt_rand());
		}

		$temp_path = $dir_name."/".$dir_add.$file_name;

		if (!$obBucket->FileExists($temp_path))
		{
			self::$buckets[$obBucket->ID."|".$temp_path] = array(
				"bucket" => $obBucket,
				"filePath" => $temp_path,
			);
			self::RegisterShutdown();
			break;
		}
	}

	return $temp_path;
}