php – Codeigniter – 获取多个文件,重命名然后压缩
发布时间:2020-12-13 17:17:32 所属栏目:PHP教程 来源:网络整理
导读:我正在创建一个使用codeigniter的网站,这将使用户能够像gmail一样下载文件.我的意思是用户只能下载zip文件夹中的1个文件或所有文件. 因为会有很多文件,所以我编写了它们的名称以避免重复,并将它们的原始名称存储在一个数据库中,该数据库返回一个如下数组: A
我正在创建一个使用codeigniter的网站,这将使用户能够像gmail一样下载文件.我的意思是用户只能下载zip文件夹中的1个文件或所有文件.
因为会有很多文件,所以我编写了它们的名称以避免重复,并将它们的原始名称存储在一个数据库中,该数据库返回一个如下数组: Array ( [0] => Array ( [file_id] => 2 [file_name] => v6_copy.pdf [file_path] => uploads/4/d5/67697ff58d09d3fb25d563bf85d3f1ac.pdf ) [1] => Array ( [file_id] => 3 [file_name] => v4_copy.pdf [file_path] => uploads/7/cf/38212079635e93a8f8f4d4a3fc2a11ff.pdf ) ) 我需要做的是,获取每个文件,将它们重命名为原始名称,然后将其压缩成一个拉链.我目前正在尝试使用codeigniter zip帮助程序,但我似乎无法重命名文件. foreach ($query->result() as $row) // This returns what you see above { // I need to rename the file somewhere here $this->zip->read_file($row->filename); } $this->zip->download('files_backup.zip'); 有没有办法在不手动创建目录,复制文件,重命名然后压缩文件的情况下执行此操作? 任何帮助最受赞赏. 解决方法
CodeIgniter的Zip Class
apparently不提供重命名条目的任何方法.您可以使用PHP的本机Zip扩展,它允许您在将文件添加到存档时更改名称(以及稍后).
PHP Manual的例子 $zip = new ZipArchive; if ($zip->open('test.zip') === TRUE) { $zip->addFile('/path/to/index.txt','newname.txt'); $zip->close(); echo 'ok'; } else { echo 'failed'; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |