将文件和目录添加到特定的子目录
Add files and directory to a specific sub directory
我正在使用以下脚本将我的目录(在本例中为 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
(包括其中的所有文件和子目录)
我该怎么做?
您可以使用 http://php.net/manual/en/function.rename.php。那应该可以满足您的需求。
我回答我自己的问题,答案很简单:只需定义第二个参数:
$zip->addFile($file, 'wordpress/wp-content/themes/' . $theme_name . '/' . $file_name);
我正在使用以下脚本将我的目录(在本例中为 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
(包括其中的所有文件和子目录)
我该怎么做?
您可以使用 http://php.net/manual/en/function.rename.php。那应该可以满足您的需求。
我回答我自己的问题,答案很简单:只需定义第二个参数:
$zip->addFile($file, 'wordpress/wp-content/themes/' . $theme_name . '/' . $file_name);