2

我有多个文件要压缩成一个唯一文件(zip),但似乎每次循环重新启动时都会创建一个新文件,我该怎么做?没有足够的文档,这是我的代码:

        $file1 = "test1.xls";
        $files2 = array(
            "test2.xls", "test3.xls"
        );

        $filter = new Zend_Filter_Compress(array(
            'adapter' => 'Zip',
            'options' => array(
                'archive' => BASE_PATH .'/public/' . $this->configuracoes->get('media') . '/temp/zipped'.date('d-m-Y-H-i-s').'.zip'
            )
        ));

        $compress = $filter->filter($file1);
        foreach($files2 as $file){
            $compress = $filter->filter($file);
        }

这只会导致内部带有 test3.xls 的 zip。

4

2 回答 2

2

值得一看这个链接,似乎与您打开 zip、添加文件、然后在循环外关闭它的答案相同。

使用 PHP 从 url 添加文件创建 zip

于 2013-10-14T14:33:07.507 回答
2

一个老问题,但我发现这正在寻找类似的东西。

您可以将目录传递给filter函数,它将递归地添加该目录中的所有文件。

IE

$compress = $filter->filter('/path/to/directory/');

于 2014-05-09T01:25:31.683 回答