Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace ZipStream\Zip64;
6
 
7
use ZipStream\PackField;
8
 
9
/**
10
 * @internal
11
 */
12
abstract class EndOfCentralDirectoryLocator
13
{
14
    private const SIGNATURE = 0x07064b50;
15
 
16
    public static function generate(
17
        int $numberOfTheDiskWithZip64CentralDirectoryStart,
18
        int $zip64centralDirectoryStartOffsetOnDisk,
19
        int $totalNumberOfDisks,
20
    ): string {
21
        /** @psalm-suppress MixedArgument */
22
        return PackField::pack(
23
            new PackField(format: 'V', value: static::SIGNATURE),
24
            new PackField(format: 'V', value: $numberOfTheDiskWithZip64CentralDirectoryStart),
25
            new PackField(format: 'P', value: $zip64centralDirectoryStartOffsetOnDisk),
26
            new PackField(format: 'V', value: $totalNumberOfDisks),
27
        );
28
    }
29
}