![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/maennchen/zipstream-php/src/Zip64/ |
<?php declare(strict_types=1); namespace ZipStream\Zip64; use ZipStream\PackField; /** * @internal */ abstract class EndOfCentralDirectory { private const SIGNATURE = 0x06064b50; public static function generate( int $versionMadeBy, int $versionNeededToExtract, int $numberOfThisDisk, int $numberOfTheDiskWithCentralDirectoryStart, int $numberOfCentralDirectoryEntriesOnThisDisk, int $numberOfCentralDirectoryEntries, int $sizeOfCentralDirectory, int $centralDirectoryStartOffsetOnDisk, string $extensibleDataSector, ): string { $recordSize = 44 + strlen($extensibleDataSector); // (length of block - 12) = 44; /** @psalm-suppress MixedArgument */ return PackField::pack( new PackField(format: 'V', value: static::SIGNATURE), new PackField(format: 'P', value: $recordSize), new PackField(format: 'v', value: $versionMadeBy), new PackField(format: 'v', value: $versionNeededToExtract), new PackField(format: 'V', value: $numberOfThisDisk), new PackField(format: 'V', value: $numberOfTheDiskWithCentralDirectoryStart), new PackField(format: 'P', value: $numberOfCentralDirectoryEntriesOnThisDisk), new PackField(format: 'P', value: $numberOfCentralDirectoryEntries), new PackField(format: 'P', value: $sizeOfCentralDirectory), new PackField(format: 'P', value: $centralDirectoryStartOffsetOnDisk), ) . $extensibleDataSector; } }