(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 档案中的文件不受此限制。
始终返回 true
。
如果 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 'Create/modify operations on my.phar failed: ', $e;
}
?>
以上示例将输出
bool(false) bool(true)