无法将 xml 文件添加到 zip laravel

cannot add xml file to zip laravel

我想创建一个包含 xml 文件的 zip 文件夹并下载它。我可以下载 zip,但它是空的。

我可以创建 xml 和 zip :

顺便说一下,$result 是 ArrayToXml::convert(array,....)

的结果
        $zip = new ZipArchive;
   
        $fileName = 'example-'.time().'.xml';
        $zipName = 'example'.time().'.zip';

        if ($zip->open(public_path("storage/zips/".$zipName), ZipArchive::CREATE) === TRUE)
        {
            Storage::disk('public')->put('/files/'.$fileName, $result);        
            $zip->addFile(public_path("storage/files/".$fileName), $result);
            Storage::disk('public')->put('/zips/'.$zipName, $zip);       
          
            $zip->close();           
        }
        return response()->download(storage_path('app\public\zips\'.$zipName));

如何将 xml 文件添加到 zip。我是 laravel 的新手,请帮忙

看看 Madzipper 包。使处理 zip 文件变得非常容易。

您可以按如下方式创建压缩文件:

$fileName = 'example-'.time() . '.xml';
$zip = 'public/zips/example' . time() . '.zip';

Madzipper::make($zip)->addString($fileName, $result)->close();

然后return下载文件时$zip的路径。

请查看 the docs 了解更多信息。