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

how to zip multiple folders in codeigniter

我正在尝试在 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 文件夹。

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

谢谢, 赛义德

您可以使用$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 文件中。

你可以使用干净的数据

$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');