Ben etrafında 5MB dosya, iki dosya var ve 66 mb civarında dosya b ettik. Ben dosya b içeride dosya a'da hatlarının herhangi occurnaces, varsa öğrenmek gerekir, ve eğer öyleyse c dosyasına bunları yazmak.
Bu benim şu anda bunu hallediyorum yoludur:
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>";
}
}
Sorun onun küçük dosyasında 160.000 'içine bir saat ve belki 3000 hatlar üzerinden için (başarılı) yürütüyor edilir. Herhangi bir fikir?