如何将文件夹内的文件压缩为zip Archive

发布于 2024-10-31 01:58:57 字数 507 浏览 0 评论 0原文

$source = "/Filelist/"
$filter = new Zend_Filter_Compress(
    array(
        'adapter' => 'Zip',
        'options' => array(
            'archive' => test.zip
        )
    )                     
);
$result = $filter->filter($source);

该函数工作正常,问题是我想获取 test.zip 中的文件列表。但是现在我在存档中获取文件夹 Filelist 。

似乎是因为这一行:

$content = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, realpath($content));

并且真实路径正在删除 /。我该如何解决这个问题?

$source = "/Filelist/"
$filter = new Zend_Filter_Compress(
    array(
        'adapter' => 'Zip',
        'options' => array(
            'archive' => test.zip
        )
    )                     
);
$result = $filter->filter($source);

The function works fine, the problem is that I want to get the file list inside the test.zip. However now I am getting the folder Filelist inside the archive.

It seems to be because of this line:

$content = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, realpath($content));

and the realpath is removing /. How do I resolve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城月光淡如水﹏ 2024-11-07 01:58:58

看看代码,我没有看到这样做的方法。 Zend_Filter_compress_Zip 检查它是否是一个目录,如果是,则调用:

$zip->addEmptyDir(substr($local, 0, -1));

Looking at the code, I don't see a way of doing that. Zend_Filter_Compress_Zip checks if it is a dir, and if it is, calls:

$zip->addEmptyDir(substr($local, 0, -1));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文