函式名:Phar::buildFromIterator()
適用版本:PHP 5 >= 5.3.0, PHP 7
用法:Phar::buildFromIterator() 函式用於從迭代器中構建一個新的 Phar 檔案。它將迭代器中的檔案新增到 Phar 檔案中,並可以選擇性地使用過濾器來排除某些檔案。
語法:bool Phar::buildFromIterator( Iterator $iter [, string $base_directory = '' ] )
引數:
- $iter:要從中構建 Phar 檔案的迭代器。
- $base_directory(可選):可選的基本目錄,用於將檔案的路徑截斷為相對於該目錄的相對路徑。
返回值:如果成功構建了 Phar 檔案,則返回 true,否則返回 false。
示例 1:使用迭代器構建一個簡單的 Phar 檔案
$phar = new Phar('myphar.phar');
$phar->buildFromIterator(new ArrayIterator(array(
'file1.php',
'file2.php',
'file3.php'
)));
// 將檔案儲存到磁碟
$phar->stopBuffering();
示例 2:使用過濾器構建 Phar 檔案,並指定基本目錄
$phar = new Phar('myphar.phar');
$phar->buildFromIterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/path/to/files')
),
'/path/to/files'
);
// 將檔案儲存到磁碟
$phar->stopBuffering();
在示例 2 中,迭代器會遞迴地遍歷指定目錄下的所有檔案,並將它們新增到 Phar 檔案中。透過指定基本目錄為 /path/to/files
,Phar 檔案中的檔案路徑將被截斷為相對於該目錄的相對路徑。