PHP打包下载多个TXT文件
2016-10-31 00:00
316 查看
前端用js获取页面选中的checkbox框,把ID写成字符串传递给PHP,PHP利用explode函数转成数组;已知文件路径
PHP代码:
本文由以下两个网址参考而来:
http://www.cnblogs.com/hongfei/archive/2012/06/12/2546881.html http://www.lvtao.net/dev/php_zip.html
<script type="text/javascript"> $(function(){ $("#download").click(function(){ //window.location.href="downzip.php?articleid=1&chapterids=1"; var articleid = $('#articleid').val(); var chapterids=""; $('input:checked').each(function(){ chapterids += $(this).attr('value')+','; }); if(chapterids==""){ alert("请选择要下载的章节"); return false; } window.location.href="chapterdownload.php?articleid="+articleid+"&chapterids="+chapterids; }); }); </script>
PHP代码:
$articleid = intval($_GET['articleid']); $chapters = strval($_GET['chapterids']); $chapterids = explode(',', $chapters); for ($i=0;$i<sizeof($chapterids)-1;$i++){ $url = $_SERVER["DOCUMENT_ROOT"]."/files/article/txt/0/$articleid/$chapterids[$i].txt"; $datalist[$i] = $url;//获取文件路径数组 } $datastr=date("d-H-i-s"); $filename = $_SERVER["DOCUMENT_ROOT"]."/files/article/downZip/".$datastr.".zip"; //最终生成的文件名(含路径) if(!file_exists($filename)){ //重新生成文件 $zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释 if ($zip->open($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
相关文章推荐
- PHP 单TXT下载和多个TXT文件打包下载 同时
- PHP多文件打包下载
- 实现php加速的eAccelerator dll支持文件打包下载
- php打包下载文件
- windows下PHP批量生成打包android程序APK-渠道txt植入apk文件
- PHP生成TXT的下载文件
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- php点击下载txt文件
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
- php zip打包下载文件
- php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- PHP 用 ZipArchive 打包指定文件到zip供用户下载
- PHP下载txt文件到浏览器
- 实现php加速的eAccelerator dll支持文件打包下载
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- php代码生成txt文件并下载
- PHP打包下载整个文件夹或多文件
- 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
- PHP打包下载整个文件夹或多文件