2017-05-30 12 views
0

PHPで複数のCSVファイルをダウンロードしたいのですが、1回のリクエストで1リクエストを超えることはできません。CSVファイルをZIPに変換する - PHPコード

複数のCSVファイルを作成してZIPファイルに保存してダウンロードするには、ideeaが必要です。出来ますか?はいの場合は、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(); 
+0

ファイルを別のサイトからダウンロードしていますか、または自分のサイトからファイルをダウンロードしていますか?私はあなたの質問からそれほど明確ではありません... –

+1

ここには何も起こっていませんか?あなたは言わなかった。あなたは 'exit(" <$ filenameZIP> \ n ");'を開くことができません? –

+0

複数のCSVファイルをZIPファイルに保存し、そのZIPファイルをダウンロードします。 – Kiddo

答えて

0

ソリューション:私は、サーバー上のCSVファイルを保存したが、ZIPARCHIVE :: ADDFILE()をZIPにそれらを追加し、サーバーからCSVファイルを削除しました。

関連する問題