将文件和目录添加到特定的子目录

Rez*_*eza 7 php zip ziparchive

我使用以下脚本将我的目录(在本例中My_Theme)的文件移动到zip存档wordpress.zip.

define('CLIENT_PATH', $_SERVER['DOCUMENT_ROOT'] . '/wp_theme/clients_templates/' . str_replace(' ', '_', $_POST['title']));
$zip = new ZipArchive;
$zip->open('wordpress.zip', ZipArchive::CREATE);
foreach (glob(CLIENT_PATH . "/*.*") as $file) {
    echo $file . '<br>';
   $zip->addFile($file);
}
$zip->close();
Run Code Online (Sandbox Code Playgroud)

现在当我下载并解压缩该文件时,我的文件夹结构如下所示:

在此输入图像描述

我想要的是将目录移动My_Themewordpress/wp-content/themes/

结果将是:( wordpress/wp-content/themes/My_Theme包括其中的所有文件和子目录)

我怎样才能做到这一点?

Rez*_*eza 4

我回答我自己的问题,答案很简单:只需定义第二个参数: $zip->addFile($file, 'wordpress/wp-content/themes/' . $theme_name . '/' . $file_name);