读取.TXT文件的最佳方法是什么(文件大小为225mb)。我想打开文件并通过它循环并通过REGEX查找信息。
文件中的示例数据:
00424333060001410100100BILLLLOYD BRRUSSELL& 12675 MAKALISO AVE WEST WORKS TOWN KS 23456-1035 3341310350630200500004200000001887800001789IWD QM1214200400003367250001799900001287IWD QM 000000000000000000000000000000 000000000000000000000000000000
我遇到的问题是文件永远打开。通过搜索需要一段时间。我的循环可能有75个我需要搜索的项目。
$name2 = "BILLLLOYD BRRUSSELL ";
$RE21 = "/[0-9]{23}.$name2/";
$file = fopen("MYFILE.TXT", "r");
while(!feof($file)){
$line = fget($file);
for ($row = 0; $row = 75; $row++{
$name2 = data i am getting from another file...;
$RE21 = "/[0-9]{23}.$name2/"; //Not sure if this works!!
$a = preg_match($RE21, $line, $matches);
foreach($matches as $x => $x_value) {
I will $x_value and store it.} //$x_value should be 00424333060001410100100BILLLLOYD BRRUSSELL
} //foreach
} //for
}//while
fclose($file);
答案 0 :(得分:0)
也许您应该尝试不同的方法并使用命令行grep?使用生成的模式和要搜索的文件从“另一个文件”生成regexp并执行grep命令?
使用-o标志仅从结果中获取匹配项
答案 1 :(得分:0)
您可以逐行阅读:
$handle = fopen("bla.txt", "r");
while (($buffer = fgets($handle, 4096)) !== false) {
// ...
}
fclose($handle);