如何在codeigniter中压缩文件?

时间:2014-09-05 07:49:41

标签: php codeigniter

我编写此代码以从我的图像

创建一个zip文件
        $path = '/path/to/file/icon1.png';
        $path2 = '/path/to/file/icon2.png';
        $this->zip->read_file($path);
        $this->zip->read_file($path2);
        $this->zip->archive('/root/myarchive.zip'); 

现在我想使用add_dir添加一个目录,例如Image,然后将$path$path2添加到此文件夹,然后创建一个存档(默认为CI保存这些图像到zip文件的根目录)

1 个答案:

答案 0 :(得分:4)

来自文档:

  

<强> $这 - &GT; zip-&GT; add_dir()

<小时/>   允许您添加目录。通常此功能是不必要的,因为您可以在使用$ this-&gt; zip-&gt; add_data()时将数据放入文件夹中,但如果您想创建一个空文件夹,则可以这样做。例如:

$this->zip->add_dir('myfolder'); // Creates a folder called "myfolder"

只需将目录名称添加到路径中:

$path = '/path/to/file/icon1.png';
$this->zip->add_data('myfolder/' . $path, file_get_contents($path));

如果要使用$this->zip->read_file()并维护文件的目录结构,请在第二个参数中传递TRUE(boolean)。 - 说DOCs

$path = '/path/to/photo.jpg';
$this->zip->read_file($path, TRUE); 
  

在上面的示例中,photo.jpg将放在两个文件夹中:path / to /