phar-php-fileformat-php-manifestfile-1

  • What makes a phar a phar and not
    a tar or a zip?
  • Phar manifest file entry definition

  • Phar manifest file entry definition
  • Phar manifest file entry definition

    Phar manifest file entry definition

    Each file in the manifest contains the following
    information:

    Phar Manifest file entry
    Size in bytes Description
    4 bytes Filename length in bytes
    ?? Filename (length specified in previous)
    4 bytes Un-compressed file size in bytes
    4 bytes Unix timestamp of file
    4 bytes Compressed file size in bytes
    4 bytes CRC32 checksum of un-compressed file contents
    4 bytes Bit-mapped File-specific flags
    4 bytes Serialized File Meta-data length (0 for none)
    ?? Serialized File Meta-data, stored in serialize() format

    Note that as of API version 1.1.1, empty
    directories are stored as filenames with a trailing slash like
    my/directory/

    The File-specific bitmap values recognized are:

    Bitmap values recognized
    Value Description
    0x000001FF These bits are reserved for defining specific file permissions
    of a file. Permissions are used for fstat() and can
    be used to recreate desired permissions upon extraction.
    0x00001000 If set, this file is compressed with zlib compression
    0x00002000 If set, this file is compressed with bzip compression