我将未压缩的文件移动到服务器目录/zip/file.unzipped.png
现在我需要取出该文件并压缩它。
是否有可能这样做或者需要zip存档作为codeigniter指南?
我该怎么做?
答案 0 :(得分:1)
您正在寻找的是直接下载,而不是在下载之前将存档保存在磁盘上吗?
如果是这种情况,您可以执行@ zer02建议的操作,但删除存档步骤。
$ name ='mydata1.txt';
$ data ='数据字符串!';
$ this-> zip-> add_data($ name,$ data);
//将zip文件写入服务器上的文件夹。将其命名为“my_backup.zip”<德尔> $这 - &GT; zip-&GT;归档( '/路径/到/目录/ my_backup.zip'); 德尔>
//将文件下载到桌面。将其命名为“my_backup.zip”
$这 - &GT; zip-&GT;下载( 'my_backup.zip');
zip库应该收集你在内存中添加到zip缓存的所有数据,并创建一个动态下载的文件。
答案 1 :(得分:0)
请阅读用户手册:http://codeigniter.com/user_guide/libraries/zip.html
有两个函数可以跳出我的用例:
$this->zip->read_file()
允许您压缩已存在于您的某个位置的文件 服务器。提供文件路径,zip类将读取并添加它 存档:
$this->zip->read_dir()
允许您压缩已经存在的文件夹(及其内容) 存在于您服务器的某个位置。提供目录的文件路径 并且zip类将以递归方式读取它并将其重新创建为Zip 存档。提供的路径中包含的所有文件都将被编码, 和包含在其中的任何子文件夹一样。
答案 2 :(得分:-1)
$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');