函式名:Phar::compressFiles()
適用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
用法:Phar::compressFiles() 方法用於在Phar存檔中壓縮指定的檔案。
語法:bool Phar::compressFiles(int $compression [, string|array $files ])
引數:
- $compression:壓縮級別,可以是以下常量之一:
- Phar::NONE:不進行壓縮
- Phar::GZ:使用gzip壓縮
- Phar::BZ2:使用bzip2壓縮
- $files(可選):要壓縮的檔案,可以是單個檔案路徑的字串或檔案路徑陣列。如果沒有指定,則會壓縮所有檔案。
返回值:如果成功壓縮檔案,則返回true,否則返回false。
示例:
// 建立一個新的Phar存檔物件
$phar = new Phar('myapp.phar');
// 新增要壓縮的檔案
$phar->buildFromDirectory('/path/to/files');
// 壓縮存檔中的所有檔案
$phar->compressFiles(Phar::GZ);
// 或者只壓縮指定檔案
$phar->compressFiles(Phar::BZ2, ['/path/to/file1', '/path/to/file2']);
// 檢查壓縮後的Phar存檔
var_dump($phar->isCompressed()); // 輸出 bool(true)
上述示例中,首先我們建立了一個名為myapp.phar的新Phar存檔物件。然後,使用buildFromDirectory()方法從指定目錄中新增要壓縮的檔案。接下來,我們使用compressFiles()方法壓縮了存檔中的所有檔案,並指定了壓縮級別為gzip。也可以透過傳遞檔案路徑陣列來只壓縮指定的檔案,並使用bzip2進行壓縮。最後,我們使用isCompressed()方法檢查Phar存檔是否被成功壓縮,並輸出結果為true。