CustomZipWriter.php 990 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace PhpZip\Tests\Internal\CustomZip;
  3. use PhpZip\IO\ZipWriter;
  4. use PhpZip\Model\Extra\Fields\NewUnixExtraField;
  5. use PhpZip\Model\Extra\Fields\NtfsExtraField;
  6. use PhpZip\Model\ZipContainer;
  7. /**
  8. * Class CustomZipWriter.
  9. */
  10. class CustomZipWriter extends ZipWriter
  11. {
  12. /**
  13. * ZipWriter constructor.
  14. *
  15. * @param ZipContainer $container
  16. */
  17. public function __construct(ZipContainer $container)
  18. {
  19. // dump($container);
  20. parent::__construct($container);
  21. // dd($this->zipContainer);
  22. }
  23. protected function beforeWrite()
  24. {
  25. parent::beforeWrite();
  26. $now = new \DateTimeImmutable();
  27. $ntfsTimeExtra = NtfsExtraField::create($now, $now->modify('-1 day'), $now->modify('-10 day'));
  28. $unixExtra = new NewUnixExtraField();
  29. foreach ($this->zipContainer->getEntries() as $entry) {
  30. $entry->addExtraField($ntfsTimeExtra);
  31. $entry->addExtraField($unixExtra);
  32. }
  33. }
  34. }