2013-08-30 78 views
0

進出口使用PHP(Zend框架)來下載數據網格作爲CSV..the CSV代作品fine.I只是想知道是否有可能下載一個ZIP文件中的CSV文件下載一個CSV作爲一個zip

我當前的代碼

public function downloadCsvAction(){ 
    header("Content-type: application/csv"); 
     header("Content-Disposition: attachment; filename=answers_csv.csv"); 
     header("Pragma: no-cache"); 
     header("Expires: 0"); 
     echo "stuff1" . ","; 
     echo "stuff2".","; 
     //----bla bla 

    exit; 

} 

通過調用URL controller/downloadCsv即時得到一個彈出保存csv.I希望CSV是在一個zip文件

回答

3

這裏是一個簡單的代碼來壓縮並輸出csv作爲一個zip文件

//here is your csv file 
$csvFile = "test.csv"; 

//location for php to create zip file. 
$zipPath = "/tmp/$csvFile.zip"; 

$zip = new ZipArchive(); 
if ($zip->open($zipPath,ZipArchive::CREATE)) { 
    $zip->addFile($csvFile, $csvFile); 
    $zip->close(); 
    //Make sure the zip file created and output it. 
    if(is_file($zipPath)){ 
     header('Content-type: application/octet-stream; charset=utf-8'); 
     header('Content-Disposition: attachment; filename="'.$csvFile.'.zip"'); 
     header('Content-Length: ' . filesize($zipPath)); 
     readfile($zipPath,false); 
    } 
} 
+0

謝謝兄弟!你救了我 – coolguy

1

我只是想知道是否有可能在zip文件中下載csv文件

是的,這是可能的。只需創建一個ZIP文件並將CSV文件放在那裏。然後交付ZIP文件。

如果您正在尋找更多的技術信息,請閱讀到相關的Q &的材料作爲具體的代碼非常不同,你需要達到什麼:

+0

a litt更多的信息或鏈接將是完美:) – coolguy

+0

@ubercooluk:我懷疑CSV是非常大的,所以我假設你想要創建的ZIP文件,以及飛,所以請看到編輯。 – hakre

+0

是的csv是非常大的(可能包含多達10,000行或有時100行)..感謝鏈接虐待它看着它 – coolguy

相關問題