2017-05-30 47 views
0

我想通過PHP下載多個CSV文件,我知道這是不可能的,因爲每次請求的請求數不能超過1個。CSV文件到ZIP - PHP代碼

有一個ideea創建多個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(); 
+0

您是從其他網站下載文件,還是從您自己的網站提供下載文件?我甚至不清楚你的問題... –

+1

什麼是*不*在這裏發生?你沒有說。你看到'exit(「無法打開<$ filenameZIP> \ n」);'? –

+0

我想將多個CSV文件保存到ZIP文件中,然後下載該ZIP文件。 – Kiddo

回答

0

解決方案:我已經保存CSV文件的服務器上,增加他們ZipArchive :: addFile()來ZIP,然後再從服務器上刪除CSV文件。