在PHP中查找多个TXT文件中的特定文本

Eri*_*rik 7 php search text file

我想在目录中的一个或多个文本文件中找到特定的文本字符串,但我不知道如何.我现在用谷歌搜索了很长时间,但我还没有找到任何东西.因此,我问你们,我怎么能解决这个问题?

提前致谢.

Mic*_*ski 11

如果它是您正在运行的Unix主机,则可以grep在目录中进行系统调用:

$search_pattern = "text to find";
$output = array();
$result = exec("/path/to/grep -l " . escapeshellarg($search_pattern) . " /path/to/directory/*", $output);

print_r($output);
// Prints a list of filenames containing the pattern
Run Code Online (Sandbox Code Playgroud)


ghb*_*att 5

您可以在不使用grep的情况下获得所需.当你在命令行上时,Grep是一个方便的工具,但你只需要一些PHP代码即可完成所需的工作.

例如,这个小片段为您提供类似于grep的结果:

$path_to_check = '';
$needle = 'match';

foreach(glob($path_to_check . '*.txt') as $filename)
{
  foreach(file($filename) as $fli=>$fl)
  {
    if(strpos($fl, $needle)!==false)
    {
      echo $filename . ' on line ' . ($fli+1) . ': ' . $fl;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)