inputStream = $inputStream; } /** * @return ZipInputStreamInterface */ public function getInputStream() { return $this->inputStream; } /** * Returns an string content of the given entry. * * @throws ZipException * * @return string */ public function getEntryContent() { if ($this->entryContent === null) { // In order not to unpack again, we cache the content in memory or on disk $content = $this->inputStream->readEntryContent($this); if ($this->getSize() < self::MAX_SIZE_CACHED_CONTENT_IN_MEMORY) { $this->entryContent = $content; } else { $this->entryContent = fopen('php://temp', 'r+b'); fwrite($this->entryContent, $content); } return $content; } if (\is_resource($this->entryContent)) { rewind($this->entryContent); return stream_get_contents($this->entryContent); } return $this->entryContent; } /** * Clone extra fields. */ public function __clone() { $this->clone = true; parent::__clone(); } public function __destruct() { if (!$this->clone && $this->entryContent !== null && \is_resource($this->entryContent)) { fclose($this->entryContent); } } }