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