/** * Destroy tarball reader * * @return \Magento\Framework\Archive\Tar */ protected function _destroyReader() { if ($this->_reader instanceof \Magento\Framework\Archive\Helper\File) { $this->_reader->close(); $this->_reader = null; } return $this; }
/** * Write current file to tarball * * @return void */ protected function _packAndWriteCurrentFile() { $archiveWriter = $this->_getWriter(); $archiveWriter->write($this->_composeHeader()); $currentFile = $this->_getCurrentFile(); $fileSize = 0; if (is_file($currentFile) && !is_link($currentFile)) { $fileReader = new File($currentFile); $fileReader->open('r'); while (!$fileReader->eof()) { $archiveWriter->write($fileReader->read()); } $fileReader->close(); $fileSize = filesize($currentFile); } $appendZerosCount = (self::TAR_BLOCK_SIZE - $fileSize % self::TAR_BLOCK_SIZE) % self::TAR_BLOCK_SIZE; $archiveWriter->write(str_repeat("", $appendZerosCount)); }