我将解压缩的文件移动到服务器目录 /zip/file.unzipped.png
现在我需要拿那个文件并压缩它。
是否有可能这样做或需要 zip 存档作为 codeigniter 指南所说的?
我怎样才能做到这一点?
我将解压缩的文件移动到服务器目录 /zip/file.unzipped.png
现在我需要拿那个文件并压缩它。
是否有可能这样做或需要 zip 存档作为 codeigniter 指南所说的?
我怎样才能做到这一点?
您正在寻找的只是直接下载,而不是在下载之前将存档保存在磁盘上吗?
如果是这种情况,您可以执行@zer02 建议的操作,但删除存档步骤。
$name = 'mydata1.txt';
$data = '一个数据字符串!';
$this->zip->add_data($name, $data);
// 将 zip 文件写入服务器上的文件夹。将其命名为“my_backup.zip”
$this->zip->archive('/path/to/directory/my_backup.zip');// 将文件下载到您的桌面。将其命名为“my_backup.zip”
$this->zip->download('my_backup.zip');
zip 库应该收集您添加到内存中 zip 缓存的所有数据,并创建一个文件以动态下载。
请阅读用户手册:http ://codeigniter.com/user_guide/libraries/zip.html
对于您的用例,有两个功能可以让我跳出来:
$this->zip->read_file()
允许您压缩服务器某处已存在的文件。提供一个文件路径,zip 类将读取它并将其添加到存档中:
$this->zip->read_dir()
允许您压缩已存在于服务器某处的文件夹(及其内容)。提供目录的文件路径,zip 类将递归读取它并将其重新创建为 Zip 存档。提供的路径中包含的所有文件都将被编码,其中包含的任何子文件夹也将被编码。
$name = 'mydata1.txt';
$data = 'A Data String!';
$this->zip->add_data($name, $data);
// 将 zip 文件写入服务器上的文件夹。将其命名为“my_backup.zip”
$this->zip->archive('/path/to/directory/my_backup.zip');
// 将文件下载到您的桌面。将其命名为“my_backup.zip”
$this->zip->download('my_backup.zip');