在命令列 (*nix) 上,您可以使用以下命令解壓縮 phar 檔案
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::extractTo — 將 phar 封存的內容解壓縮到目錄
將 phar 封存檔中的所有檔案解壓縮到磁碟。解壓縮的檔案和目錄會保留存檔中儲存的權限。選用參數允許選擇性地控制要解壓縮的檔案,以及是否可以覆寫磁碟上的現有檔案。第二個參數 files
可以是要解壓縮的檔案或目錄的名稱,或是要解壓縮的檔案和目錄名稱的陣列。預設情況下,此方法不會覆寫現有檔案,可以將第三個參數設定為 true 以啟用覆寫檔案。此方法類似於 ZipArchive::extractTo()。
成功時傳回 true
,但最好檢查是否有拋出例外,如果沒有拋出例外則假設成功。
如果在將變更寫入磁碟時發生錯誤,則拋出 PharException。
範例 #1 Phar::extractTo() 範例
<?php
try {
$phar = new Phar('myphar.phar');
$phar->extractTo('/full/path'); // 解壓縮所有檔案
$phar->extractTo('/another/path', 'file.txt'); // 僅解壓縮 file.txt
$phar->extractTo('/this/path',
array('file1.txt', 'file2.txt')); // 僅解壓縮 2 個檔案
$phar->extractTo('/third/path', null, true); // 解壓縮所有檔案,並覆寫
} catch (Exception $e) {
// 處理錯誤
}
?>
注意:
Windows NTFS 檔案系統不支援檔名中的某些字元,即
<|>*?":
。檔名也不能以點號結尾。與某些解壓縮工具不同,此方法不會將這些字元替換為底線,而是無法解壓縮此類檔案。
在命令列 (*nix) 上,您可以使用以下命令解壓縮 phar 檔案
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar