0

我有一些 PHP 代码用于尝试压缩文件夹。该文件夹中有两个子文件夹和几个单独的文件。

这是代码: -

<?php

    $src = $_POST['srcin'];
    $dst = $_POST['dstin'];

    $zip = new ZipArchive;
    $zip->open($dst, ZipArchive::CREATE);
    if (false !== ($dir = opendir($src)))
         {
             while (false !== ($file = readdir($dir)))
             {
                 if ($file != '.' && $file != '..')
                 {
    $ans = DIRECTORY_SEPARATOR;
                           $zip->addFile($src.DIRECTORY_SEPARATOR.$file);
                 }
             }
         }
         else
         {
             die('Can\'t read dir');
         }
    $zip->close();

    echo json_encode('Folder Compressed');

?> 

输入值为: -

srcin = "TestFolder" dstin = "TestFolder.zip"。

发生的事情是我得到一个 zip 文件。但是,子文件夹被创建为文件。

我通过在这个论坛上搜索如何压缩文件夹获得了上述代码,但我看不到任何关于子文件夹未正确压缩的内容。

任何帮助深表感谢。

谢谢

马丁

4

1 回答 1

1

addEmptyDir在向其中添加文件之前,您应该创建一个目录。

是一个示例(请参阅顶部评论)如何递归归档目录

于 2013-09-20T07:30:01.950 回答