加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中压缩文件时删除目录结构

发布时间:2020-12-13 17:57:24 所属栏目:PHP教程 来源:网络整理
导读:在 PHP中压缩文件时遇到了一些问题.我有一个拉链文件数组的函数,这些文件都在不同的目录中.该功能如下: function create_zip($files = array(),$destination = '',$overwrite = false,$add_to_db=true) { print_r($files); $zip = new ZipArchive(); if($zi
在 PHP中压缩文件时遇到了一些问题.我有一个拉链文件数组的函数,这些文件都在不同的目录中.该功能如下:
function create_zip($files = array(),$destination = '',$overwrite = false,$add_to_db=true) {
    print_r($files);
        $zip = new ZipArchive();
        if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
            return false;
        }
        for($i=0;$i < count($files); $i++) {
            //echo $files[$i].'<br>';
            $zip->addFile($files[$i],$files[$i]);
        }



        $zip->close();

        if(file_exists($destination)) {
       //  echo("Success");
       if($add_to_db == true) { add_file($destination); }

            return true;

        } else {
        //echo("Failed");
           return false;
        }
    }

当用户下载并提取zip时,文件结构如下:

文件夹/文件夹2 / file1.jpg
文件夹/ file2.jpg
文件夹/文件夹2 / folder3 / file3.jpg

我的问题是,是否有可能让PHP将所有文件放在zip的根目录中并忽略给定的结构.所以提取的文件看起来像:

/file1.jpg
/file2.jpg
/file3.jpg

我能想到的唯一解决方案是将所有文件移动到一个文件夹然后压缩这个文件夹,但这看起来有点过分.

在另一个问题中找到了答案

php creating zips without path to files inside the zip

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读