php zip壓縮文件和下載

 function downzip($dataList,$zipname=''){

     if(!$zipname){
        $zipname = date('YmdHis',time());
     }
     $zip=new ZipArchive();
     $fileName = $zipname.'.zip';
     if (!file_exists($fileName)){
         $zip->open($fileName,ZipArchive::OVERWRITE);//建立一個空的zip文件
         for ($i=0;$i<count($dataList);$i++){
             $zip->addFile($dataList[$i],basename($dataList[$i]));
         }
         $zip->close();
      }
    
     $file = fopen($fileName,"r");
     //返回的文件類型
     Header("Content-type: application/octet-stream");
     //按照字節大小返回
     Header("Accept-Ranges: bytes");
     //返回文件的大小
     Header("Accept-Length: ".filesize($fileName));
     //這裏對客戶端的彈出對話框,對應的文件名
     Header("Content-Disposition: attachment; filename=".$fileName);
     //修改以前,一次性將數據傳輸給客戶端
     //向客戶端回送數據
     $buffer=1024;//
     //判斷文件是否讀完
     while (!feof($file)) {
         //將文件讀入內存
         $file_data=fread($file,$buffer);
         //每次向客戶端回送1024個字節的數據
         echo $file_data;
     }
     fclose($file);
 }
 $dataList = array('images/Chrysanthemum.jpg','images/Desert.jpg');
 downzip($dataList);app

相關文章
相關標籤/搜索