(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharFileInfo::compress — 使用 zlib 或 bzip2 压缩压缩当前 Phar 项
此方法使用 bzip2 压缩或 zlib 压缩压缩 Phar 档案中的文件。必须启用 bzip2 或 zlib 扩展才能利用此功能。此外,如果文件已压缩,则必须启用相应的扩展才能解压缩文件。与所有修改 phar 内容的功能一样,如果文件在 Phar 档案中,则必须关闭 phar.readonly INI 变量才能成功。 PharData 档案中的文件没有此限制。
如果 phar.readonly INI 变量已打开,或者如果 bzip2/zlib 扩展不可用,则抛出 BadMethodCallException。
范例 #1 一个 PharFileInfo::compress() 范例
<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
var_dump($file->isCompressed(Phar::BZ2));
$p['myfile.txt']->compress(Phar::BZ2);
var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
echo '创建/修改 my.phar 操作失败: ', $e;
}
?>
上面的例子将输出
bool(false) bool(true)