我有一个功能,这是工作正常,从文件夹文件创建zip文件。但最近我需要添加子文件夹到我的主文件夹,现在我看到我的功能没有添加这些子文件夹和文件在他们生成的zip文件。
以下是我目前拥有:
$zip = new ZipArchive;
if ($zip->open(public_path('Downloads/new_zip.zip'), ZipArchive::CREATE) === TRUE)
{
$files = File::files(public_path('new_zip'), true);
foreach ($files as $key => $value) {
$relativeNameInZipFile = basename($value);
$zip->addFile($value, $relativeNameInZipFile);
}
$zip->close();
}
通过使用上面的代码,假设我有以下结构:
new_zip
sample.txt
它的工作很好,为我的文件夹创建zip文件。
"但是"
如果我的文件夹结构类似:
new_zip
sample.txt
folder_a
file_a.txt
folder_b
folder_c
file_c.txt
然后,它将忽略folder_a
及以上的所有内容。
有何建议?
1条答案
按热度按时间5cnsuln71#
您可以使用此方法
第一个参数是要压缩其数据的目录的路径
第二个参数是生成的zip文件的路径
对于您的情况:
第一个
此方法将完全再现源目录的文件夹结构。
还有一点需要澄清的是:
1.要将目录“test_dir”和文件“test.txt”添加到存档中,您只需执行以下操作: