将所有子目录添加到zip存档

时间:2017-02-03 15:13:01

标签: php ziparchive

在这种情况下,我正在尝试将所有文​​件和子目录添加到我的zip文件中。

$zip = new ZipArchive;
$zip->open('wordpress.zip', ZipArchive::CREATE);

// Adding all files
foreach (glob(CLIENT_PATH . "/*.*") as $file) {
    $filename = substr($file, strrpos($file, '/') + 1);
    echo $filename . '<br>';
   $zip->addFile($file, 'wordpress/wp-content/themes/' . $title . '/' . $filename);
}

// Adding all subdirectories
$directories = glob(CLIENT_PATH . '/*' , GLOB_ONLYDIR);
foreach (glob(CLIENT_PATH . '/*', GLOB_ONLYDIR) as $dir) {
    $zip->addEmptyDir('wordpress/wp-content/themes/' . $title . '/' . $dir);
}

$zip->close();

添加所有文件的效果非常好,但添加所有子目录将无法按预期工作。

这是我的解压缩文件的外观:

enter image description here

我的主目录的子目录名为assets,它还包含一些子目录,并且还有一些子目录。但正如您在上图中看到的那样,assets只包含任何内容。而且,我不明白为什么它从home / pomcanys /等开始而不是assets

我该如何解决这个问题?任何帮助,将不胜感激!

0 个答案:

没有答案