从S3文件列表中创建.gz文件

时间:2017-01-18 20:10:27

标签: php zlib

我正在尝试从.gz文件列表中创建s3文件。我能够获得文件列表并读取文件的内容。我无法弄清楚如何将它们写入.gz文件。还有一种方法可以让我在下载前将它们写入内存而不是文件吗?

这就是我目前正在做的事情:

$files = $disk->files('s3/files');
$outFile = 'opt.gz';
$gz = gzopen($outFile, 'w9');
// Add the items to the gz file
foreach($files as $file) {
    $content = $disk->getDriver()->read($file);
    file_put_contents($outFile, gzencode($content), FILE_APPEND);
}
gzclose($gz);

// Download the file
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($outFile).'"');
header('Content-Length: ' . filesize($outFile));
readfile($outFile);

0 个答案:

没有答案