我想在下载时动态创建一个Zip文件。 让我解释: 我有一些来自远程服务器的网址(每次更改),我想为所有人创建一个容器(zip存档),这样就可以立即下载它们,而不是单独下载所有文件。
这是我的代码:
$files = array(
'http://example.com/file1.pdf'=> array('size'=>55050),
'http://example.com/file2.doc'=> array('size'=>10000),
'http://example.com/file3.txt'=> array('size'=>5000)
);
$total_size = 0;
foreach($files as $file=>$info){
$total_size = $total_size+(int)$info['size'];
}
ob_start();
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="Test.zip"');
header('Content-Length: '.$total_size);
header("Content-Transfer-Encoding: binary");
header('Content-Encoding: chunked');
foreach($files as $url=>$info){
while (@ob_end_flush());
readfile($url);
}
ob_end_flush();
ob_end_clean();
exit;
这会(显然)生成一个损坏的档案...... 谁能帮我? 提前谢谢。