繁体   English   中英

CSV文件到ZIP-PHP代码

[英]CSV files to ZIP - PHP code

我想通过PHP下载多个CSV文件,但我知道这是不可能的,因为每次您发出的请求不能超过1个。

具有创建多个CSV文件并将其保存为ZIP文件并下载的想法。 可能吗? 如果是,请给我一个帮助,将2个CSV文件存储到1个ZIP文件中并下载吗? 谢谢。

直到现在我的代码:

$zip = new \ZipArchive();
$filenameZIP = "./fileZIP.zip";

if ($zip->open($filenameZIP, \ZipArchive::CREATE)!==TRUE) {
    exit("cannot open <$filenameZIP>\n");
}

$filenameCSV = 'file1';
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="' . $filenameCSV . '";');

$f = fopen('php://output', 'a+');

$array    = array();
$array[0] = array(
   'first11',
   'first12',
);
$array[1] = array(
   'first21',
   'first22',
);

foreach ($array as $line) {
   fputcsv($f, $line, ';');
}

header('Content-disposition: attachment; filename=fileZIP.zip');
header('Content-type: application/zip');
readfile($zip->filename);

$zip->close();

解决方案:我已经将CSV文件保存在服务器上,并使用ZipArchive :: addFile()将它们添加到ZIP中,然后从服务器中删除了CSV文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM