所以我有一个脚本,可以将 CSV 文件导入到数据库中的联系人表中。
我制作了一个脚本,它会抓取一大块 CSV 文件并对其进行处理,用它的进度更新一个队列表,然后使用 cron 定期运行它,这样它基本上可以处理任何大小的文件。
无论如何,我将它限制为一次只能运行 1000 行,以防止它翻倒。这工作得很好,但我有人尝试上传一个比平常更多的字段的 CSV,这意味着 CSV 的 1 行比平常大得多。
当我将数据传递给函数以构建查询以将其放入数据库时,在修剪查询时 substr() 函数出现“内存不足”错误。
$q = substr($q, 0, -1);
在脚本的这一点上,$q 变得相当大,这似乎正在扼杀它。知道如何在不将整个 var 加载到内存中的情况下砍掉最后一个字符吗?除了使批量更小之外?