Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Tar.php
Go to the documentation of this file.
1 <?php
13 
15 use RecursiveDirectoryIterator;
16 use RecursiveIteratorIterator;
17 
18 class Tar extends \Magento\Framework\Archive\Tar
19 {
25  protected $_skipFiles = [];
26 
38  protected function _createTar($skipRoot = false, $finalize = false)
39  {
40  $path = $this->_getCurrentFile();
41 
42  $filesystemIterator = new RecursiveIteratorIterator(
43  new RecursiveDirectoryIterator($path),
44  RecursiveIteratorIterator::SELF_FIRST
45  );
46 
47  $iterator = new Filter(
48  $filesystemIterator,
49  $this->_skipFiles
50  );
51 
52  foreach ($iterator as $item) {
53  $this->_setCurrentFile($item->getPathname());
54  $this->_packAndWriteCurrentFile();
55  }
56 
57  if ($finalize) {
58  $this->_getWriter()->write(str_repeat("\0", self::TAR_BLOCK_SIZE * 12));
59  }
60  }
61 
68  public function setSkipFiles(array $skipFiles)
69  {
70  $this->_skipFiles = $skipFiles;
71  return $this;
72  }
73 }
setSkipFiles(array $skipFiles)
Definition: Tar.php:68
_createTar($skipRoot=false, $finalize=false)
Definition: Tar.php:38