在多个文件中查找字符串

Find string in multiple files

我需要检查文件夹中的其中一个文件中是否存在 $string。下面是我所拥有的,但它显然不起作用。我错过了什么?

foreach (glob($path . 'foo/bar/*.*') as $file) {

  if (strpos(file_get_contents($file), $string) !== false) {
    //** found
  } else {
    //** not found
  }
}

您确定所有文件都包含扩展名吗?你可以试试

glob($path . 'foo/bar/*')

看看是否可行。

此外,如果您使用 Windows,则应使用反斜杠 (\) 而不是正斜杠 (/)。您可以使用 DIRECTORY_SEPARATOR 常量让 PHP 为您自动化。

glob($path . 'foo' . DIRECTORY_SEPARATOR . 'bar' . DIRECTORY_SEPARATOR . '*.*')

您还确定 $path 以斜杠结尾吗?