Parcourir la source

fix close container in ZipFile::close()

Ne-Lexa il y a 6 ans
Parent
commit
79e77a8c88
2 fichiers modifiés avec 4 ajouts et 2 suppressions
  1. 2 1
      src/ZipFile.php
  2. 2 1
      tests/Zip64Test.php

+ 2 - 1
src/ZipFile.php

@@ -1797,8 +1797,9 @@ class ZipFile implements ZipFileInterface
         if ($this->reader !== null) {
             $this->reader->close();
             $this->reader = null;
-            $this->zipContainer = $this->createZipContainer(null);
         }
+        $this->zipContainer = $this->createZipContainer(null);
+        gc_collect_cycles();
     }
 
     /**

+ 2 - 1
tests/Zip64Test.php

@@ -2,6 +2,7 @@
 
 namespace PhpZip\Tests;
 
+use PhpZip\Constants\ZipCompressionMethod;
 use PhpZip\Exception\ZipException;
 use PhpZip\ZipFile;
 
@@ -32,7 +33,7 @@ class Zip64Test extends ZipTestCase
 
         $zipFile = new ZipFile();
         for ($i = 0; $i < $countFiles; $i++) {
-            $zipFile[$i . '.txt'] = (string) $i;
+            $zipFile->addFromString($i . '.txt', (string) $i, ZipCompressionMethod::STORED);
         }
         $zipFile->saveAsFile($this->outputFilename);
         $zipFile->close();