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

我正在使用以下脚本将我的目录(在本例中为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();

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

在这里输入图像描述

我想要的是将目录My_Theme移动到wordpress/wp-content/themes/

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

我怎样才能做到这一点?


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


你可以使用http://php.net/manual/en/function.rename.php。 这应该做你想要的。

链接地址: http://www.djcxy.com/p/94859.html

上一篇: Add files and directory to a specific sub directory

下一篇: Upload file in angular2: Body (FormData) empty