gpt4 book ai didi

处理大字符串时 PHP 脚本停止工作

转载 作者:行者123 更新时间:2023-12-02 07:41:31 25 4
gpt4 key购买 nike

我正在测试一个 php 脚本来创建包含大量数据的 csv 文件。这是我执行此任务的方式:

$csvdata = "ID,FN,LN,ADDR,TEL,PRO\n
1,fn1,ln1,addr1,tel1,pro1\n...etc,";
$fname = "./temp/filename.csv";
$fp = fopen($fname,'w');
fwrite($fp,$csvdata);
fclose($fp);

我注意到当字符串 ($csvdata) 包含大约 100,000 个数据行时脚本工作正常。但是当它获得超过 10,000,000 行数据时,它会停在我构建字符串 $csvdata 的中间(我通过在 for 循环中连接数据来构建 $csvdata 字符串,数据来自数据库)。

有人可以告诉我当我们使用大字符串值时出了什么问题吗?

谢谢亲切的问候

最佳答案

I'm building $csvdata string by concatenating data in a for loop, data from database.

据我所知,您正在准备将整个文件写成字符串,并最终将其写入文件。

如果是这样,那么这种做法就不好了。请记住,该字符串存在于主内存中,每次附加时,都会消耗更多内存。解决此问题的方法是逐行写入文件,即从数据库中读取一条记录,根据需要进行转换/格式化,准备 CSV 行并将其写入文件。

关于处理大字符串时 PHP 脚本停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10511440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com