PHP Conference Japan 2024

PharFileInfo::compress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharFileInfo::compress使用 zlib 或 bzip2 压缩当前 Phar 条目

描述

public PharFileInfo::compress(int $compression): true

此方法使用 bzip2 压缩或 zlib 压缩来压缩 Phar 档案中的文件。必须启用 bzip2zlib 扩展才能利用此功能。此外,如果文件已压缩,则必须启用相应的扩展才能解压缩文件。与所有修改 phar 内容的功能一样,如果文件位于 Phar 档案中,则必须关闭 phar.readonly INI 变量才能成功。位于 PharData 档案中的文件不受此限制。

参数

compression

压缩必须为 Phar::GZPhar::BZ2

返回值

始终返回 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)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top