阅读PHP中的大型CSV

时间:2016-01-28 22:33:58

标签: php csv mysqli

所以,我有一个大的CSV文件(Name_data_all.txt),其中有大约240万个名字,格式如下:

,,Roughdawg4,xLukk,blackangel887462,Semnas,HUTCHY007,MrUnknown625,maxijodi,jeromepotel

但是,数据插入CSV文件的方式,它都在一个连续的行上

我需要做的是将它们全部插入到数据库表中,但问题是当我尝试读取文件时出现此错误:

Allowed memory size of 134217728 bytes exhausted

现在我知道我可以使用fseek()和fgets();但我无法弄清楚如何做到这一点,我想的只是部分提取数据,插入,然后抓住下一个块等等......

我知道这种提取方式可以工作,并将每个名称输出到唯一的数组索引中,但是如果我执行的操作超过~600k则会出现内存问题:

$handle = fopen("Name_data_all.txt", "r");
$data = fgetcsv($handle, 6000000, ",");
$pos1 = fgets($handle);
fclose($handle);

0 个答案:

没有答案