PHP8 Phar::decompress

2024-02-20 09:17 更新

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

Phar::d ecompress — 解壓縮整個(gè) Phar 存檔

說明

public Phar::decompress(?string $extension = null): ?Phar
注意:此方法需要 將 中的 設(shè)為 以適合 Phar 對象. 否則, 將拋出PharException.php.iniphar.readonly0

對于基于 tar 和 phar 的 phar 存檔,此方法會解壓縮整個(gè)存檔。

對于基于 ZIP 的 phar 存檔,此方法將失敗并出現(xiàn)異常。 必須啟用 zlib 擴(kuò)展才能解壓縮 使用 gzip 壓縮壓縮的存檔,并且 bzip2 擴(kuò)展名必須是 啟用以解壓縮使用 bzip2 壓縮壓縮的存檔。 與修改 phar 內(nèi)容的所有功能一樣,phar.readonly INI 變量必須關(guān)閉 為了成功。

此外,此方法會自動(dòng)更改存檔的文件擴(kuò)展名,默認(rèn)情況下用于 phar 存檔或基于 tar 的 phar 存檔。 或者,可以將文件擴(kuò)展名指定為第二個(gè) 參數(shù)。.phar.phar.tar

參數(shù) 

extension

對于解壓縮,默認(rèn)文件擴(kuò)展名 是 和 . 使用此參數(shù)指定另一個(gè)文件擴(kuò)展名。注意 所有可執(zhí)行的 PHAR 存檔都必須在其文件名中包含。.phar.phar.tar.phar

返回值 

Phar 對象在成功時(shí)返回,失敗時(shí)返回 null。

錯(cuò)誤/異常 

如果出現(xiàn)以下情況,則引發(fā) BadMethodCallException phar.readonly INI 變量處于打開狀態(tài),zlib 擴(kuò)展不可用,或者 bzip2 擴(kuò)展 未啟用。

更新日志 

版本說明
8.0.0extension現(xiàn)在是可為 null 的。

示例 

示例 #1 A Phar::d ecompress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.phar
?>

參見 

  • PharFileInfo::getCompressedSize() - 返回 Phar 存檔中文件的實(shí)際大小(壓縮)
  • PharFileInfo::isCompressed() - 返回條目是否被壓縮
  • PharFileInfo::compress() - 使用 zlib 或 bzip2 壓縮當(dāng)前 Phar 條目
  • PharFileInfo::d ecompress() - 解壓縮 phar 中的當(dāng)前 Phar 條目
  • PharData::compress() - 使用 Gzip 或 Bzip2 壓縮整個(gè) tar/zip 壓縮文件
  • Phar::canCompress() - 返回 phar 擴(kuò)展是否支持使用 zlib 或 bzip2 進(jìn)行壓縮
  • Phar::isCompressed() - 如果壓縮了整個(gè) phar 存檔(.tar.gz/tar.bz 等),則返回 Phar::GZ 或 PHAR::BZ2
  • Phar::compress() - 使用 Gzip 或 Bzip2 壓縮整個(gè) Phar 存檔
  • Phar::getSupportedCompression() - 返回支持的壓縮算法數(shù)組
  • Phar::compressFiles() - 壓縮當(dāng)前 Phar 存檔中的所有文件
  • Phar::d ecompressFiles() - 解壓縮當(dāng)前 Phar 存檔中的所有文件


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號