小编Spi*_*erQ的帖子

在生成时将大型CSV文件下载到浏览器

我有一个生成大型CSV文件的脚本,fputcsv并将其发送到浏览器.它可以工作,但浏览器不显示文件下载提示(或开始下载文件),直到整个CSV文件在服务器端生成,这需要很长时间.

相反,我希望在仍然生成文件的其余部分时开始下载.我知道这是可能的,因为它是PHPMyAdmin中"导出数据库"选项的工作方式 - 即使您的数据库很大,只要单击"导出"按钮就会立即开始下载.

我如何调整下面的现有代码,让下载立即开始?

$csv = 'title.csv';
header( "Content-Type: text/csv;charset=utf-8" );
header( "Content-Disposition: attachment;filename=\"$csv\"" );
header( "Pragma: no-cache" );
header( "Expires: 0" );

$fp = fopen('php://output', 'w');
fputcsv($fp, array_keys($array), ';', '"');

foreach ($array as $fields) 
{
    fputcsv($fp, $fields, ';', '"');
}

fclose($fp);
exit();
Run Code Online (Sandbox Code Playgroud)

php csv download

3
推荐指数
1
解决办法
3787
查看次数

标签 统计

csv ×1

download ×1

php ×1