我正在尝试在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文件夹。
如何压缩多个文件夹?这是我的问题
三江源, 赛
答案 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');