0

我正在尝试压缩我的公共“img”文件夹中的所有文件,但我不断收到此错误。我检查了很多关于堆栈溢出的帖子,代码似乎没问题。我想我在这里遗漏了一些东西。有人可以帮忙吗?

ErrorException ZipArchive::addFile(): 无效或未初始化的 Zip 对象

Laravel 版本:8.11.2

use Illuminate\Http\Request;
use ZipArchive;
use File;

class DownloadController extends Controller
{
public function zipFile(){       

    $zipper = new ZipArchive();
    $filename = 'newzip.zip';
    
    if ($zipper->open(public_path($filename), ZipArchive::CREATE === TRUE))
    {
        $files = File::files(public_path('img'));        
        foreach($files as $key => $val){
           $relativeNameInZipFile = basename($val);
           $zipper->addFile($val, $relativeNameInZipFile);
        }
        $zipper->close();
    }
    return response()->download( public_path($filename));
   }
}
4

1 回答 1

0

我认为你错过了传递论点

改变这个:

if ($zipper->open(public_path($filename), ZipArchive::CREATE === TRUE))

至:

  if ($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE)

然后再试一次

于 2021-01-12T07:35:36.367 回答