Server : Apache System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 User : nobody ( 99) PHP Version : 8.1.23 Disable Function : NONE Directory : /home/dnlcambodia/www/dnl_dashboard/Export/vendor/maennchen/zipstream-php/src/ |
<?php declare(strict_types=1); namespace ZipStream; use DateTimeInterface; /** * @internal */ abstract class LocalFileHeader { private const SIGNATURE = 0x04034b50; public static function generate( int $versionNeededToExtract, int $generalPurposeBitFlag, CompressionMethod $compressionMethod, DateTimeInterface $lastModificationDateTime, int $crc32UncompressedData, int $compressedSize, int $uncompressedSize, string $fileName, string $extraField, ): string { return PackField::pack( new PackField(format: 'V', value: self::SIGNATURE), new PackField(format: 'v', value: $versionNeededToExtract), new PackField(format: 'v', value: $generalPurposeBitFlag), new PackField(format: 'v', value: $compressionMethod->value), new PackField(format: 'V', value: Time::dateTimeToDosTime($lastModificationDateTime)), new PackField(format: 'V', value: $crc32UncompressedData), new PackField(format: 'V', value: $compressedSize), new PackField(format: 'V', value: $uncompressedSize), new PackField(format: 'v', value: strlen($fileName)), new PackField(format: 'v', value: strlen($extraField)), ) . $fileName . $extraField; } }