如何在codeigniter中压缩多个文件夹

时间:2015-08-22 04:45:29

标签: codeigniter zip

我正在尝试在codeigniter中压缩多个文件夹。

这是我的代码

public function zip_files()
{
  $this->load->library('zip');
  $this->zip->compression_level = 0;

  $path1 = '/my folder path';
  $this->zip->read_dir($path1);

  $path2 = '/my another folder path';
  $this->zip->read_dir($path2);

  $this->zip->download('my_upoads.zip');
}

但上面的代码只会打开$ path2文件夹。

如何压缩多个文件夹?这是我的问题

三江源, 赛

2 个答案:

答案 0 :(得分:1)

您可以使用$this->zip->read_dir()

参阅: https://ellislab.com/codeigniter/user-guide/libraries/zip.html

$this->load->library('zip');

$path = '/path/to/your/directory/';

$this->zip->read_dir($path);

$this->zip->download('my_backup.zip'); 

你必须提供基本文件夹,然后它将所有文件夹,其中的文件压缩为单个zip文件。

答案 1 :(得分:1)

您可以使用干净的数据

$this->zip->clear_data();

示例:

$name = 'my_bio.txt';
$data = 'I was born in an elevator...';

$this->zip->add_data($name, $data);
$zip_file = $this->zip->get_zip();

$this->zip->clear_data();

$name = 'photo.jpg';
$this->zip->read_file("/path/to/photo.jpg"); // Read the file's contents

$this->zip->download('myphotos.zip');