protected string
$tempPath;
/**
* @var resource
*/
protected $buffer;
public function __construct(FilesystemOperator
$filesystem) { $this->filesystem =
$filesystem;
$this->
initTempFile();
$this->
initBuffer();
} public function flush(Config
$config, string
$targetPath): void
{ rewind($this->buffer
);
$bytesCopied =
stream_copy_to_stream($this->buffer,
$this->tempFile
);
if ($bytesCopied === false
) { throw new \
RuntimeException(sprintf('Could not copy stream to %s',
$this->tempPath
));
}