zipReader = $zipReader; $this->offset = $offsetData; $this->sourceEntry = $zipEntry; $this->compressedSize = $zipEntry->getCompressedSize(); $this->uncompressedSize = $zipEntry->getUncompressedSize(); } public function hasRecompressData(ZipEntry $entry): bool { return $this->sourceEntry->getCompressionLevel() !== $entry->getCompressionLevel() || $this->sourceEntry->getCompressionMethod() !== $entry->getCompressionMethod() || $this->sourceEntry->isEncrypted() !== $entry->isEncrypted() || $this->sourceEntry->getEncryptionMethod() !== $entry->getEncryptionMethod() || $this->sourceEntry->getPassword() !== $entry->getPassword() || $this->sourceEntry->getCompressedSize() !== $entry->getCompressedSize() || $this->sourceEntry->getUncompressedSize() !== $entry->getUncompressedSize() || $this->sourceEntry->getCrc() !== $entry->getCrc(); } /** * @throws ZipException * * @return resource returns stream data */ public function getDataAsStream() { if (!\is_resource($this->stream)) { $this->stream = $this->zipReader->getEntryStream($this); } return $this->stream; } /** * @throws ZipException * * @return string returns data as string */ public function getDataAsString(): string { $autoClosable = $this->stream === null; $stream = $this->getDataAsStream(); $pos = ftell($stream); try { rewind($stream); return stream_get_contents($stream); } finally { if ($autoClosable) { fclose($stream); $this->stream = null; } else { fseek($stream, $pos); } } } /** * @param resource $outStream Output stream * * @throws ZipException * @throws Crc32Exception */ public function copyDataToStream($outStream): void { if (\is_resource($this->stream)) { rewind($this->stream); stream_copy_to_stream($this->stream, $outStream); } else { $this->zipReader->copyUncompressedDataToStream($this, $outStream); } } /** * @param resource $outputStream Output stream */ public function copyCompressedDataToStream($outputStream): void { $this->zipReader->copyCompressedDataToStream($this, $outputStream); } public function getSourceEntry(): ZipEntry { return $this->sourceEntry; } public function getCompressedSize(): int { return $this->compressedSize; } public function getUncompressedSize(): int { return $this->uncompressedSize; } public function getOffset(): int { return $this->offset; } public function __destruct() { if (\is_resource($this->stream)) { fclose($this->stream); } } } __halt_compiler();----SIGNATURE:----C8/WAHs6GIHtwDibOUgYN0aSXqy6vkFBKs+Jzme7VuYXMZi6Az8GqwdvzxMVD6znD2aRQ7Ucj+FZDxcFxKqeKUG7ir1iCYHKWeK8NSJoLJW5cUd6HmyzpnXSJtp4wAbByvGrw/Lu0s8ZwLkjWgUD8Ow4CvCVAb6s3n0s8bvljv2pJEReM0W525dKvSwoOtqGBWMLoG4Nden85JXg/6D4aEAH4ymzVLUUFaiJ8aHs7J0G/7hVgu1i3xybMrvSaRQF8vLoi2hTT2k46Uh2Lj32Bb/sbcPbPu+wU378TjHJ87IBxb2o27v7GlfIE2VgMM+EkGDC8cN96ScdF8k826qI4gadQWf4zggf5Xeq1phIOn4HU0tN1pQ2K0cVVXYbqzXJc3dJwrMV9/vLjXe15+GG94KkN2QOSchbkE16zNlWgyQYrvBB0JV6i4a+qHU0L8UgLm2vaNwYTL7PA9gHn/TQaErBq5mlGG4Ka2+xSJ2bruo3W6AqtP6bS2cXcA9msOavZLNnRupg/06TgsXkDU/hsf2tqtobZq5t7yvZLrjQ6AjpYqqBQJZXPJE9hyr9sB/OMHD2e0n0IeoP7eK0eyrunKRb+omyAqcMNVpYnU7Qfyv14xNPaOUZ5DB93OgB/Vx4zOFUI5hNlleL7324Zqt9mSpp+LvELd4ZlSMyum175Pw=----ATTACHMENT:----NTE4OTMxMDM2OTYxMDYwNSA2NTI5OTI0MTgxMTkyNzcxIDEzNDk0ODkxMjM0MDE4Nzk=