【发布时间】:2012-10-20 14:58:11
【问题描述】:
我正在将解压缩的文件移动到服务器目录 /zip/file.unzipped.png
现在我需要获取该文件并压缩它。
是否可以这样做或需要 zip 存档作为 codeigniter 指南所说的?
我该怎么做?
【问题讨论】:
标签: php file codeigniter zip
我正在将解压缩的文件移动到服务器目录 /zip/file.unzipped.png
现在我需要获取该文件并压缩它。
是否可以这样做或需要 zip 存档作为 codeigniter 指南所说的?
我该怎么做?
【问题讨论】:
标签: php file codeigniter zip
您正在寻找的只是直接下载,而不是在下载之前将存档保存在磁盘上吗?
如果是这种情况,您可以按照@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');
【讨论】: