注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

前端开发那点事儿

冒犯之处,敬请谅解。

 
 
 

日志

 
 
 
 

PHP 批量下载 tar.gz压缩  

2012-10-12 13:43:38|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
<?php
   $file_name = $_POST['file'] ? $_POST['file'] : $_GET['file'];
   $file_list = $_POST['filelist'] ? $_POST['filelist'] : $_GET['filelist'];

   $file_dir = "./mediafiles/";  
   
   if($file_list == 'batch')
   {    
        $fileArr = array();
        $tmpArr = explode(',',$_GET['file']);
        foreach($tmpArr as $file){
            $fileArr[] = $file_dir . $file;
        }
        
        $cmd = "tar zcvf /usr/local/voicesystem/mediafiles/record.tar.gz " . implode(' ',$fileArr);
        $pack = exec($cmd);
        
               if($pack){
                   $lastPackName = '/usr/local/voicesystem/mediafiles/record.tar.gz';
                   
                header("Content-type:application/octet-stream");
                header("Accept-Ranges:bytes");
                Header("Accept-Length: ".filesize($lastPackName));
                Header("Content-Disposition:attachment; filename=record.tar.gz");
                @readfile($lastPackName);
                fclose($file);
                   
                //下载文件之后,要删除该压缩包
                @unlink($lastPackName);
            }
       
   }else{
      if(!file_exists($file_dir.$file_name))
       {
            echo $file_dir.$file_name."--404 file not Found! ";
            exit;
       }
       else
       {
           $desFile = $file_dir.$file_name;
           $file_size = filesize($desFile);
           
           $fp=fopen($desFile,"r");
           
           header("Content-type:application/octet-stream");
           header("Accept-Ranges:bytes");
           header("Accept-Length:$file_size");
           header("Content-Disposition: attachment; filename=\"".basename($file_dir.$file_name)."\";");
           set_time_limit(0);
           
           $buffer_size = 1024;
           $pos = 0;
           while(($pos += $buffer_size) < $file_size){
               echo fread($fp,$buffer_size);
           }
           echo fread($fp,$file_size % $buffer_size);
           fclose($fp);
       }
   }
?>
  评论这张
 
阅读(386)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017