我正在寻找将某些字符串搜索到某些文件夹结构中的最快方法。我知道可以使用file_get_contents从文件中获取所有内容,但是我不确定是否很快。也许已经有一些可以快速运行的解决方案。我正在考虑使用scandir获取所有文件,并使用file_get_contents读取其内容,并使用strpos来检查字符串是否存在。
您认为这样做有更好的方法吗?
或者也许试图与grep一起使用php exec?
提前致谢!
您的两个选项是DirectoryIterator或glob:
$string = 'something'; $dir = new DirectoryIterator('some_dir'); foreach ($dir as $file) { $content = file_get_contents($file->getPathname()); if (strpos($content, $string) !== false) { // Bingo } } $dir = 'some_dir'; foreach (glob("$dir/*") as $file) { $content = file_get_contents("$dir/$file"); if (strpos($content, $string) !== false) { // Bingo } }