• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/backup.php
  • Класс: CTar
  • Вызов: CTar::createEmptyGzipExtra
function createEmptyGzipExtra($file)
{
	if (file_exists($file))
	{
		return $this->Error('File already exists: '.$file);
	}

	if (!($f = gzopen($file,'wb')))
	{
		return $this->Error('Can't open file: '.$file);
	}

	gzwrite($f,'');
	gzclose($f);

	$data = "x1fx8bx08x00x00x00x00x00x00x03x00x00x00xffxffx03x00x00x00x00x00x00x00x00x00"; // buggy zlib 1.2.7

	if (!($f = fopen($file, 'w')))
	{
		return $this->Error('Can't open file for writing: '.$file);
	}

	$ar = unpack('A3bin0/c1FLG/A6bin1', substr($data,0,10));

	$EXTRA = "x00x00x00x00".self::BX_EXTRA; // 10 байт
	fwrite($f,$ar['bin0']."x04".$ar['bin1'].chr(strlen($EXTRA))."x00".$EXTRA.substr($data,10));
	fclose($f);
	return true;
}