PHP8 PharData::decompress
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::d ecompress — 解压缩整个 Phar 存档
说明
public PharData::decompress(?string $extension = null): ?PharData
对于基于 tar 的存档,此方法会解压缩整个存档。
对于基于 ZIP 的存档,此方法将失败并出现异常。 必须启用 zlib 扩展才能解压缩 使用 gzip 压缩压缩的存档,并且 bzip2 扩展名必须是 启用以解压缩使用 bzip2 压缩压缩的存档。
此外,默认情况下,此方法会自动重命名存档的文件扩展名。 或者,可以使用参数指定文件扩展名。.tarextension
参数
extension
用于解压缩,默认文件扩展名 是。 使用此参数指定另一个文件扩展名。请注意,只有 可执行存档的文件名中可以包含。
.tar
.phar
返回值
成功后返回 PharData 对象, 或失败时为 null。
错误/异常
如果出现以下情况,则引发 BadMethodCallException ZLIB 扩展不可用,或者 BZIP2 扩展不可用 未启用。
更新日志
版本 | 说明 |
---|---|
8.0.0 | extension 现在是可为 null 的。 |
示例
示例 #1 A PharData::d ecompress() example
<?php
$p = new PharData('/path/to/my.tar.gz');
$p->decompress(); // creates /path/to/my.tar
?>
参见
- PharFileInfo::getCompressedSize() - 返回 Phar 存档中文件的实际大小(压缩)
- PharFileInfo::isCompressed() - 返回条目是否被压缩
- PharFileInfo::compress() - 使用 zlib 或 bzip2 压缩当前 Phar 条目
- PharFileInfo::d ecompress() - 解压缩 phar 中的当前 Phar 条目
- PharData::compress() - 使用 Gzip 或 Bzip2 压缩整个 tar/zip 压缩文件
- Phar::canCompress() - 返回 phar 扩展是否支持使用 zlib 或 bzip2 进行压缩
- Phar::isCompressed() - 如果压缩了整个 phar 存档(.tar.gz/tar.bz 等),则返回 Phar::GZ 或 PHAR::BZ2
- PharData::compress() - 使用 Gzip 或 Bzip2 压缩整个 tar/zip 压缩文件
- Phar::getSupportedCompression() - 返回支持的压缩算法数组
- PharData::compressFiles() - 压缩当前 tar/zip 存档中的所有文件
- PharData::d ecompressFiles() - 解压缩当前zip压缩文件中的所有文件