尝试下载zip文件中的文档会遇到此错误ZipArchive :: addFile():无效或未初始化的Zip对象

时间:2019-11-15 10:04:31

标签: php laravel ziparchive

我试图在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);
}

0 个答案:

没有答案