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