- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/zip.php
- Класс: CZip
- Вызов: CZip::_copyBlocks
private function _copyBlocks($source, $dest, $blockSize, $mode = 0)
{
$res = 1;
if ($mode == 0)
{
while ($blockSize != 0)
{
$length = ($blockSize < self::ReadBlockSize ? $blockSize : self::ReadBlockSize);
$buffer = @fread($source, $length);
@fwrite($dest, $buffer, $length);
$blockSize -= $length;
}
}
else
{
if ($mode == 1)
{
while ($blockSize != 0)
{
$length = ($blockSize < self::ReadBlockSize ? $blockSize : self::ReadBlockSize);
$buffer = @gzread($source, $length);
@fwrite($dest, $buffer, $length);
$blockSize -= $length;
}
}
else
{
if ($mode == 2)
{
while ($blockSize != 0)
{
$length = ($blockSize < self::ReadBlockSize ? $blockSize : self::ReadBlockSize);
$buffer = @fread($source, $length);
@gzwrite($dest, $buffer, $length);
$blockSize -= $length;
}
}
else
{
if ($mode == 3)
{
while ($blockSize != 0)
{
$length = ($blockSize < self::ReadBlockSize ? $blockSize : self::ReadBlockSize);
$buffer = @gzread($source, $length);
@gzwrite($dest, $buffer, $length);
$blockSize -= $length;
}
}
}
}
}
return $res;
}