10000 CSV记录后PHP CSV导出无法正常工作

时间:2014-04-25 07:34:09

标签: php mysql csv export export-to-csv

当用户拥有超过10000行时,PHP导出csv无法正常工作。导出csv需要花费很多时间,并且有些时候CSV会死掉。

我还设置了ini_set('memory_limit', '-1')和set_time_limit。

我想将超过10000条记录导出到csv。

我的代码如下:

header('Content-type: text/csv; charset=UTF-8');
header('Content-Encoding: UTF-8');
header("Content-disposition: xls" . date("Y-m-d") . ".csv");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Disposition: attachment; filename = Mycsv.csv");
header("Content-type: application/x-download");
header("Content-Length: " . strlen($out));
echo $out;
exit;

1 个答案:

答案 0 :(得分:0)

由于某些特殊字符的编码, Content-Length strlen($ out)可能与下载的文件大小不匹配。

尝试对第header("Content-Length: " . strlen($out));行进行评论,看它是否有效。