php – Codeigniter – 获取多个文件,重命名然后压缩

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Codeigniter – 获取多个文件,重命名然后压缩脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个使用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';
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – Codeigniter – 获取多个文件,重命名然后压缩全部内容,希望文章能够帮你解决php – Codeigniter – 获取多个文件,重命名然后压缩所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。