Phar マニフェストのファイルエントリの定義

マニフェスト内の各ファイルについて、次のような情報が含まれます。

Phar マニフェストのファイルエントリ
バイト数 説明
4 バイト ファイル名の長さを表すバイト数。
?? ファイル名 (先ほど指定した長さになります)。
4 バイト 圧縮前のファイルサイズを表すバイト数。
4 バイト ファイルの Unix タイムスタンプ。
4 バイト 圧縮後のファイルサイズを表すバイト数。
4 バイト 圧縮前のファイルの CRC32 チェックサム。
4 バイト ファイル固有のビットマップフラグ。
4 バイト シリアライズされたファイルのメタデータの長さ (存在しない場合は 0)。
?? シリアライズされたファイルのメタデータ。serialize() の形式で格納される。

API バージョン 1.1.1 では、空のディレクトリの最後にスラッシュをつけて my/directory/ のような形式で保存されることに注意しましょう。

ファイル固有のビットマップ値として認識される値は次のとおりです。

認識されるビットマップ値
説明
0x000001FF これらのビットは、ファイルの特定のパーミッションを定義するために予約されています。 このパーミッションは fstat() で用いられ、 ファイルを展開する際に特定のパーミッションを指定することができます。
0x00001000 設定されている場合、このファイルは zlib で圧縮されています。
0x00002000 設定されている場合、このファイルは bzip で圧縮されています。