有没有办法使用Zend_Filter_Compress类在一个zip存档中压缩多个文件?
官方文档只讨论一个文件或一个文件夹。
使用数组作为调用方法的参数不起作用,因为存档只包含数组中的最后一个文件。
$filter = new Zend_Filter_Compress(array(
'adapter' => 'Zip',
'options' => array(
'archive' => 'test.zip'
),
));
$b=array('C:\temp\compress1.txt','C:\temp\compress2.txt');
$compressed = $filter->filter($b);
答案 0 :(得分:1)
据我所知,Zend_Filter_Compress仅支持字符串,单个文件或文件夹(包含子文件夹)进行压缩。
但您可以使用ZipArchive类创建存档。
请参阅:http://www.php.net/manual/de/class.ziparchive.php
$files = array('a.txt', 'b.txt', 'c.txt');
$zip = new ZipArchive();
$zip->open('archive.zip', ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();