php實現多csv文件導出zip壓縮包

使用phpexcel生成csv文件

    $fileNameArr = array();
    foreach ($list as $ii => $group_data) {
        $csv_title = $ii;
        $file_temp = $csv_title . '.csv';
        $fileNameArr[] = $file_temp;
        $PHPExcel = new PHPExcel(); //實例化PHPExcel類
        $PHPSheet = $PHPExcel->getActiveSheet(); //獲得當前活動sheet的操作對象
        $PHPSheet->setTitle('sheet'); //給當前活動sheet設置名稱
        $i = 1;
        $PHPSheet->setCellValue('A'.$i,'today rank')
             ->setCellValue('B'.$i,'domain');
        foreach ($group_data as $key => $item) {
            $i++;
            $PHPSheet->setCellValue('A'.$i, $item['today_rank'])
                 ->setCellValue('B'.$i, $item['site']);
        }
        $PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,'Excel5');
        $PHPWriter->save($file_temp);
    }

    $zipname = "test.zip";
    $zip = new ZipArchive();
    $zip->open($zipname,ZipArchive::CREATE);   //打開壓縮包
    foreach ($fileNameArr as $file) {
        $zip->addFile($file, basename($file)); 
    }
    $zip->close();  //關閉壓縮包
    foreach ($fileNameArr as $file) {
        unlink($file); //刪除csv臨時文件
    }
    header('Content-Type: application/zip');
    header('Content-disposition: attachment; filename='.$zipname);
    header('Content-Length: ' . filesize($zipname));
    readfile($zipname);
    unlink($zipname); //刪除壓縮包臨時文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章