我试图在laravel应用程序中使用PHP下载文档和图片表示zip文件,但是它遇到了以下错误,我在网上到处检查但未找到任何解决方案
ZipArchive::addFile(): Invalid or uninitialized Zip object
方法
public function downoad()
$officeSpecs = DB::table('specifications_draged_files')->where('user_id', Auth::user()->id)->get();
$files = array();
foreach ($officeSpecs as $officeSpec) {
$files[] = $_SERVER['DOCUMENT_ROOT'] . '/public/uploads/zsdf_specs/' . Auth::user()->id . '/files/' . $officeSpec->draged_file;
}
$zipname = $_SERVER['DOCUMENT_ROOT'] . 'public/uploads/zsdf_specs/office_specs.zip';
$zip = new \ZipArchive();
$zip->open($zipname, \ZipArchive::CREATE);
if ($zip->open($zipname) != true) {
dd("Could not open archive");
}
$i= 0;
foreach ($files as $key => $file) {
if (file_exists($file)) {
$zip->addFile($file);
}
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
}