Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSV文件到ZIP-PHP代码_Php - Fatal编程技术网

CSV文件到ZIP-PHP代码

CSV文件到ZIP-PHP代码,php,Php,我想通过PHP下载多个CSV文件,我知道这是不可能的,因为每次只能发出一个以上的请求 有一个IDEA来创建多个CSV文件并将它们保存到ZIP文件中,然后下载。可能吗?如果是,你能给我一个帮助,将2个CSV文件存储到1个ZIP文件中并下载吗?多谢各位 我的代码到现在为止: $zip = new \ZipArchive(); $filenameZIP = "./fileZIP.zip"; if ($zip->open($filenameZIP, \ZipArchive::CREATE)!==

我想通过PHP下载多个CSV文件,我知道这是不可能的,因为每次只能发出一个以上的请求

有一个IDEA来创建多个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();
$zip=new\ZipArchive();
$filenameZIP=“./fileZIP.zip”;
如果($zip->open($filenameZIP\ZipArchive::CREATE)!==TRUE){
退出(“无法打开”);
}
$filenameCSV='file1';
标题(“内容类型:应用程序/csv”);
标题('Content-Disposition:attachment;filename=“”.$filenamecv.“;”);
$f=fopen($f)php://output","a+";;
$array=array();
$array[0]=数组(
“前11名”,
“前12名”,
);
$array[1]=数组(
“第一个21”,
“前22名”,
);
foreach($数组作为$行){
fputcsv($f,$line,;”);
}
标题('Content-disposition:attachment;filename=fileZIP.zip');
标题(“内容类型:应用程序/zip”);
readfile($zip->filename);
$zip->close();

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

您是从其他站点下载文件,还是从自己的站点提供下载文件?我甚至不清楚你的问题有多少…这里发生了什么?你没说。您是否看到
退出(“无法打开”)?我想将多个CSV文件保存到一个ZIP文件中,然后下载该ZIP文件。