函式名:PharData::buildFromDirectory()
適用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
函式描述:PharData::buildFromDirectory() 從指定的目錄中構建一個 phar 檔案。它將遞迴地遍歷目錄並將檔案新增到 phar 檔案中。該函式可以用於建立自包含的 phar 檔案,其中包含了目錄中的所有檔案和子目錄。
語法:public static PharData::buildFromDirectory(string $directory, string $regex = ''): PharData
引數:
$directory
:要構建 phar 檔案的目錄路徑。$regex
(可選):用於篩選要新增到 phar 檔案的檔案和目錄的正規表示式。如果不提供該引數,則所有檔案和目錄都將被新增。
返回值:返回一個 PharData 物件,代表了構建的 phar 檔案。
示例:
// 建立一個名為 myphar.phar 的 phar 檔案,並將目錄 /path/to/files 中的所有檔案新增到其中
$phar = PharData::buildFromDirectory('/path/to/files', '/\.txt$/');
// 將 phar 檔案中的檔案提取到 /path/to/extract 目錄中
$phar->extractTo('/path/to/extract');
// 遍歷 phar 檔案中的檔案,並輸出其內容
foreach ($phar as $file) {
echo $file->getFileName() . ": " . file_get_contents($file->getRealPath()) . "\n";
}
在上面的示例中,我們首先使用 PharData::buildFromDirectory()
函式建立了一個名為 myphar.phar
的 phar 檔案,並將目錄 /path/to/files
中的所有以 .txt
結尾的檔案新增到 phar 檔案中。然後,我們使用 extractTo()
方法將 phar 檔案中的檔案提取到 /path/to/extract
目錄中。最後,我們使用 foreach 迴圈遍歷 phar 檔案中的檔案,並輸出其內容。