将包含内容的现有文件夹添加到zip php中


add existing folder with content to zip php

在php中,我可以使用创建一个zip文件

$zip = new ZipArchive();
$zipname = "somename" . '.zip';
$zip->open($zipname, ZipArchive::CREATE | ZipArchive::OVERWRITE);

并使用向其中添加文件

$zip->addFile($pathtodir."filename.bla", "filenameinzip.bla");

或者我可以用添加一个空文件夹

$zip->addEmptyDir("foldername");

但是,有没有一种方法可以将已经存在并具有子内容的文件夹直接添加到zip文件中?

重要提示:其他线程中的解决方案只将文件夹中的文件直接添加到zip中,而不将文件夹本身添加到zip。我想保留结构,这意味着文件夹也应该在zip文件中,而不仅仅是它的子内容。类似:

zipname.zip/foldername/filenameinzip.bla

您需要什么:
1-stackoverflow中的其他请求
2-php文档