PHP8 PharFileInfo::compress

2024-02-22 11:46 更新

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

PharFileInfo::compress — 使用 zlib 或 bzip2 壓縮當(dāng)前 Phar 條目

說(shuō)明 

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

此方法使用 bzip2 壓縮來(lái)壓縮 Phar 存檔中的文件 或 zlib 壓縮。 必須啟用 bzip2 或 zlib 擴(kuò)展才能采取 此功能的優(yōu)點(diǎn)。此外,如果文件已壓縮, 必須按順序啟用相應(yīng)的擴(kuò)展 解壓縮文件。與修改 一個(gè) phar,即 phar.readonly INI 變量 如果文件位于 Phar 存檔中,則必須關(guān)閉才能成功。PharData 存檔中的文件沒(méi)有 此限制。

參數(shù) 

compression

壓縮必須是 Phar::GZ 或 Phar::BZ2。

返回值 

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。

錯(cuò)誤/異常 

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

示例 

示例 #1 A PharFileInfo::compress() example

<?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;
}
?>

以上示例會(huì)輸出:

bool(false)
bool(true)

參見(jiàn) 

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)