在这种情况下,我正在尝试将所有文件和子目录添加到我的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();
添加所有文件的效果非常好,但添加所有子目录将无法按预期工作。
这是我的解压缩文件的外观:
我的主目录的子目录名为assets
,它还包含一些子目录,并且还有一些子目录。但正如您在上图中看到的那样,assets
只包含任何内容。而且,我不明白为什么它从home / pomcanys /等开始而不是assets
。
我该如何解决这个问题?任何帮助,将不胜感激!