【发布时间】:2021-01-28 15:55:53
【问题描述】:
PHP S3 下载:将巨大的文本变量回显到带有要下载标题的浏览器,但页面超时且无响应。
这是我从 S3 服务下载大量 CSV 文件数据的代码:
$result = $s3->getObject($_REQUEST['bucket'], $_REQUEST['path'], false);
if($result){
header('Content-type: ' . $result->headers['type']);
header('Content-Length: ' . $result->headers['size']);
header('Content-Disposition: inline; filename="'.$_REQUEST['filename'].'"');
echo $result->body;
} else {
echo 'File not found';
}
我还增加了页面执行时间:
ini_set('memory_limit', '1024M' );
ini_set('max_execution_time', 0);
【问题讨论】:
-
也可以遵循docs.aws.amazon.com/sdk-for-php/v3/developer-guide/… 即注册流处理程序,然后将其以块的形式通过管道传输到浏览器,而不是在 PHP var 中加载所有内容,然后输出一次
标签: php csv amazon-s3 text echo