php - 将 csv 下载为 zip 格式

标签 php javascript zend-framework csv zip

我使用 Php(Zend Framework)将数据网格下载为 CSV。.csv 生成工作正常。我只是想知道是否可以在 zip 文件中下载 csv 文件

我当前的代码

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 的弹出窗口。我希望 csv 位于 zip 文件中

最佳答案

这是一个简单的代码,用于将 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);
    }   
}

关于php - 将 csv 下载为 zip 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531034/

相关文章:

php - "<>"在这段 PHP 代码中是什么意思?

php - 如何使用 codeigniter 从本地主机发送电子邮件?

mysql - Zend Db/Mysql - 使用选择插入

php - PDO 如何知道 MySQL 中最后插入的 id?

javascript - 加载更多按钮脚本: image instead of text

javascript - 输入的 Photoshop Script 返回值

zend-framework - 如何验证zend表单中的密码字段?

php - 要解决 "assignment in condition"使用 !==false 减慢脚本。为什么?

JavaScript 按名称获取当前作用域中的变量

javascript - 将元素列表转换为数组