从S3下载使用readfile - 在readfile之后继续缓冲

时间:2015-09-30 19:24:46

标签: php amazon-s3 readfile

我有一个非常简单的脚本来强制从S3下载。

$headers = $this->s3->getObjectHeaders(array('Bucket' => $bucket, 'Key' => $s3name));
    $headerArray = $headers->toArray();

    // force download in this case
    header("Content-disposition: attachment; filename=\"{$filename}\"");

    if (ob_get_level()) {
      ob_end_flush();
    }

    flush();

    readfile("s3://{$bucket}/{$s3name}"); 
    exit;
    return;

如果我删除“退出”,则生成的下载文件最后会包含额外的内容。

对于JSON文件,它会添加{}。

如果读取文件后有错误,则错误的HTML错误内容将附加到下载的文件中。

我可以通过简单地添加退出来阻止这个不需要的操作。但是,这使我无法在那时再进行任何处理。

我已经尝试过ob_end_flush()等,但无济于事。

有什么想法吗?

0 个答案:

没有答案