2

複数のファイルを 1 つの一意のファイル (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

古い質問ですが、これは似たようなものを探していることがわかりました。

関数にディレクトリを渡すと、filterそのディレクトリ内のすべてのファイルが再帰的に追加されます。

すなわち

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

于 2014-05-09T01:25:31.683 に答える