繁体   English   中英

PHP ZIP创建子文件夹作为文件

[英]PHP ZIP creating subfolders as files

我有一些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文件。 但是,子文件夹被创建为文件。

在这个论坛上搜索有关如何对文件夹进行ZIP压缩后,我得到了上面的代码,但是我看不到任何有关未正确压缩子文件夹的内容。

任何帮助深表感谢。

谢谢

马丁

在向其中添加文件之前,应使用addEmptyDir创建目录。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM