【发布时间】:2011-04-09 13:06:08
【问题描述】:
我有两个文件,文件 a 大约 5mb,文件 b 大约 66mb。我需要找出文件a,文件b内部是否有任何行,如果有,将它们写入文件c。
这是我目前的处理方式:
ini_set("memory_limit","1000M");
set_time_limit(0);
$small_list=file("a.csv");
$big_list=file_get_contents("b.csv");
$new_list="c.csv";
$fh = fopen($new_list, 'a');
foreach($small_list as $one_line)
{
if(stristr($big_list, $one_line) != FALSE)
{
fwrite($fh, $one_line);
echo "record found: " . $one_line ."<br>";
}
}
问题是它已经(成功地)运行了一个多小时,并且它可能有 3,000 行变成了较小文件中的 160,000 行。有什么想法吗?
【问题讨论】:
标签: php string performance