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文件。文件会在用户下载完成后被删除