PHP8 PharData::convertToData

2024-02-22 11:47 更新

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

PharData::convertToData — 將 phar 存檔轉(zhuǎn)換為不可執(zhí)行的 tar 或 zip 文件

說明

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

此方法用于將不可執(zhí)行的 tar 或 zip 存檔轉(zhuǎn)換為另一個存檔 不可執(zhí)行格式。

如果未指定任何更改,此方法將引發(fā) BadMethodCallException。 此方法應(yīng)用于將 tar 存檔轉(zhuǎn)換為 zip 格式,反之亦然。雖然 可以使用此方法簡單地更改 tar 存檔的壓縮, 最好使用 PharData::compress() 方法進行邏輯 一致性。

如果成功,該方法將在磁盤上創(chuàng)建一個新的存檔,并返回一個 PharData 對象。舊存檔不會從磁盤中刪除,應(yīng)在之后手動完成 該過程已完成。

參數(shù) 

format

這應(yīng)該是 or 之一。如果設(shè)置為 null,則現(xiàn)有文件格式 將被保留。Phar::TARPhar::ZIP

compression

這應(yīng)該是沒有完整存檔的檔案之一 壓縮,用于基于 zlib 的壓縮和基于 bzip 的壓縮。Phar::NONEPhar::GZPhar::BZ2

extension

此參數(shù)用于覆蓋 轉(zhuǎn)換后的存檔。不能使用的注意事項 不可執(zhí)行 tar 或 zip 存檔的文件名中的任意位置。.phar

如果轉(zhuǎn)換為基于 tar 的 phar 存檔, 默認擴展名為 、 、 并取決于指定的壓縮。 對于基于 zip 的存檔, 默認擴展名為 。.tar.tar.gz.tar.bz2.zip

返回值 

該方法在成功時返回一個 PharData 對象, 或失敗時為 null。

錯誤/異常 

此方法在無法時引發(fā) BadMethodCallException 要壓縮,已指定未知的壓縮方法,請求的 archive 正在使用 Phar::startBuffering() 和 尚未以 Phar::stopBuffering() 結(jié)束,如果遇到任何問題,則為 PharException 在 phar 創(chuàng)建過程中。

更新日志 

版本說明
8.0.0format、 和 現(xiàn)在可為 null。compressionextension

示例 

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

使用 PharData::convertToData():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // note that myphar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

參見 

  • Phar::convertToExecutable() - 將 phar 存檔轉(zhuǎn)換為另一種可執(zhí)行的 phar 存檔文件格式
  • Phar::convertToData() - 將 phar 存檔轉(zhuǎn)換為不可執(zhí)行的 tar 或 zip 文件
  • PharData::convertToExecutable() - 將不可執(zhí)行的 tar/zip 存檔轉(zhuǎn)換為可執(zhí)行的 phar 存檔


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號