Tempfile.php 842 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. declare(strict_types=1);
  3. namespace ZipStream\Test;
  4. trait Tempfile
  5. {
  6. protected string|null $tempfile;
  7. /**
  8. * @var resource
  9. */
  10. protected $tempfileStream;
  11. protected function setUp(): void
  12. {
  13. [$tempfile, $tempfileStream] = $this->getTmpFileStream();
  14. $this->tempfile = $tempfile;
  15. $this->tempfileStream = $tempfileStream;
  16. }
  17. protected function tearDown(): void
  18. {
  19. unlink($this->tempfile);
  20. if (is_resource($this->tempfileStream)) {
  21. fclose($this->tempfileStream);
  22. }
  23. $this->tempfile = null;
  24. $this->tempfileStream = null;
  25. }
  26. protected function getTmpFileStream(): array
  27. {
  28. $tmp = tempnam(sys_get_temp_dir(), 'zipstreamtest');
  29. $stream = fopen($tmp, 'wb+');
  30. return [$tmp, $stream];
  31. }
  32. }