codecamp

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.0extension现在是可为 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压缩文件中的所有文件


PHP8 PharData::copy
PHP8 PharData::decompressFiles
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }