前端用js获取页面选中的checkbox框,把ID写成字符串传递给PHP,PHP利用explode函数转成数组;已知文件路径
PHP代码:
$articleid = intval($_GET['articleid']);$chapters = strval($_GET['chapterids']);$chapterids = explode(',', $chapters);for ($i=0;$iopen($filename, ZIPARCHIVE::CREATE)!==TRUE) { exit('无法打开文件,或者文件创建失败'); } foreach( $datalist as $val){ if(file_exists($val)){ $zip->addFile( $val, basename($val));//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下 } } $zip->close();//关闭 } if(!file_exists($filename)){ exit("无法找到文件"); //即使创建,仍有可能失败。。。。 } $fp=fopen($filename,"r");$file_size=filesize($filename);//下载文件需要用到的头Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length:".$filename);Header("Content-Disposition: attachment; filename=".basename($filename));$buffer=1024;$file_count=0;//向浏览器返回数据while(!feof($fp) && $file_count<$file_size){ $file_con=fread($fp,$buffer); $file_count+=$buffer; echo $file_con;}fclose($fp);unlink($datastr.'.zip'); //下载完成后要进行删除
本文由以下两个网址参考而来:
http://www.cnblogs.com/hongfei/archive/2012/06/12/2546881.html
http://www.lvtao.net/dev/php_zip.html