- Модуль: 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;
}