PHP8 PharData::compress

2024-02-22 11:48 更新

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

PharData::compress — 使用 Gzip 或 Bzip2 壓縮壓縮整個(gè) tar/zip 壓縮文件

說(shuō)明

public PharData::compress(int $compression, ?string $extension = null): ?PharData

對(duì)于 tar 存檔,此方法使用 gzip 壓縮或 bzip2 壓縮。生成的文件可以用 gunzip 命令/bunzip 命令,或使用 Phar 直接透明地訪問(wèn) 外延。

對(duì)于 zip 存檔,此方法失敗并出現(xiàn)異常。 必須啟用 zlib 擴(kuò)展才能壓縮 使用 gzip 壓縮時(shí),bzip2 擴(kuò)展名必須 啟用以使用 bzip2 壓縮進(jìn)行壓縮。

此外,如果傳遞給擴(kuò)展名,此方法會(huì)自動(dòng)重命名存檔、追加或刪除擴(kuò)展名 刪除壓縮?;蛘?,可以將文件擴(kuò)展名指定為第二個(gè) 參數(shù)。.gz.bz2Phar::NONE

參數(shù) 

compression

壓縮必須是 之一,以添加壓縮或刪除壓縮。Phar::GZPhar::BZ2Phar::NONE

extension

默認(rèn)情況下,擴(kuò)展名是 or 用于壓縮 tar 和解壓縮。.tar.gz.tar.bz2.tar

返回值 

成功后返回 PharData 對(duì)象, 或失敗時(shí)為 null。

錯(cuò)誤/異常 

如果出現(xiàn)以下情況,則引發(fā) BadMethodCallException ZLIB 擴(kuò)展不可用,或者 BZIP2 擴(kuò)展不可用 未啟用。

更新日志 

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

示例 

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

<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.tar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.tar already exists
?>

參見 

  • Phar::compress() - 使用 Gzip 或 Bzip2 壓縮整個(gè) Phar 存檔


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)