PharFileInfo::chmod

ファイル固有のパーミッションビットを設定する

説明

public void PharFileInfo::chmod(int $perms)

PharFileInfo::chmod は、ファイルパーミッションのうち実行ビットと読み込みビットを設定します。 書き込みビットについては無視されます。書き込みビットは、実行時に INI 設定 phar.readonly に基づいて自動的に設定されます。 この関数は phar の内容を変更するので、Phar アーカイブ内のファイルを操作するには INI 設定 phar.readonly がオフでなければなりません。 PharData アーカイブ内のファイルについては、この制約はありません。

パラメータ

perms

パーミッション (chmod を参照ください)。

戻り値

値を返しません。

例1 PharFileInfo::chmod の例

<?php
// 確実に消しておきます
@unlink('brandnewphar.phar');
try {
    $p = new Phar('brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // 実行ビットを設定します
    $p['file.sh']->chmod(0555);
    var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
    echo 'phar の作成/変更に失敗しました: ', $e;
}
?>

上の例の出力は以下となります。

bool(true)