我必须使用PHP创建一个超过400 MB的大型csv导出文件.导出文件和PHP代码的初稿允许对性能进行一些猜测.
为了避免极长的处理时间,我应该专注于有效地创建导出文件并避免PHP array操作,因为它们在这种情况下太慢了."有效地创建文件"意味着:将大块文本附加到文件中的其他大块,每个大块都快速创建.
不幸的是,"大块"比线条更像是矩形.构建我的导出文件将从许多行开头开始,如下所示:
Title a, Title b, Title c \n
"2014", "07", "01" \n
"2014", "07", "02" \n
...
Run Code Online (Sandbox Code Playgroud)
然后我将不得不在行的右侧添加一个"矩形"文本:
Title a, Title b, Title c, extention 1, extention 2, extention 3 \n
"2014", "07", "01", "23", "1", "null" \n
"2014", "07", "02", "23", "1", "null" \n
...
Run Code Online (Sandbox Code Playgroud)
如果我必须逐行进行此操作,它将再次减慢我的速度.所以我希望有一种方法可以在文件中添加"矩形",就像在一些文本编辑器中一样.同样有用的是在PHP中使用大量文本缓冲区的具体体验,也可以工作.
因为它不是我的托管,我不确定我是否有权调用sed/akw.
所以问题是:从经验中可以获得如何有效处理PHP中的大csv文件(文件块操作,文件"矩形"操作)或者如何有效处理PHP中的大字符串缓冲区的建议?似乎没有字符串缓冲区的框架.
感谢您的关注 :-)
注意:这与此不重复:https://stackoverflow.com/questions/19725129/creating-big-csv-file-in-windows-apache2-php
| 归档时间: |
|
| 查看次数: |
1480 次 |
| 最近记录: |