使用fgetcsv
使用fgetcsv,可我不知做破坏性读,我已经阅读并处理将被丢弃,所以如果我不第一遍撑过整个文件行,我可以回来接我在the script timed out
之前离开的地方吗?PHP在一个巨大的CSV文件
其他细节:
我越来越从要像一个200MB的.gz文件供应商每天的产品饲料。当我解压文件时,它变成了一个1.5GB的.csv文件,有近50万行和20 - 25个字段。我需要将这些信息读入MySQL数据库,理想情况下使用PHP,以便我可以安排CRON每天在我的虚拟主机提供商处运行脚本。
托管服务提供商将服务器硬盘超时设置为180秒,任何单个脚本的最大内存使用率限制为128mb。我不能改变这些限制。
我的想法是使用fgetcsv函数从.csv获取信息,但由于3分钟超时,我期望必须在该文件上进行多次传递,我认为这样可以很好地消除在我处理文件时,我不需要花费周期跳过已经在前一遍中处理过的行。
请张贴一些代码。否则,协助您优化代码是不可能的。 –
CSV文件的大小? –
难道你不能保存你已经解析的行数吗? – Moby04