Ubuntu需安裝zlib
sudo apt-get install ruby sudo apt-get install zlib1g zlib1g.dev
Windows需開啟php_zip.dll
如果在 "...\php\ext\" 沒有這個文件,可以到網上下載一個
然后修改 "...\php\php.ini" ,找到 "extension=php_zip.dll" 去掉 ";",如果沒有這行就加上。
$filename = "xxxx.zip"; ob_end_clean(); $zip = new ZipArchive(); $zip->open($filename, ZipArchive::OVERWRITE); while (xxxx) { if(strlen($row->team_upload) != 0) { $sitelen = strlen($row->team_upload); $attachfile = xxxx//寫絕對徑,建議用PHP環境變量 $attachfile=iconv("UTF-8","GBK",$attachfile); //轉碼,打包中文文檔 $zip->addFile( $attachfile , basename($attachfile)); //把文件放入zip } } $zip->close();//關閉 header('Content-Description: File Transfer'); Header("content-type:application/x-zip-compressed"); header('Content-Disposition: attachment; filename='.basename($filename)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($filename)); ob_clean(); //清空但不關閉輸出緩存 flush(); @readfile($filename); @unlink($filename);//刪除打包的臨時zip文件。文件會在用戶下載完成后被刪除