在文件夹中的所有文件中搜索字符串
我正在寻找将某些字符串搜索到某些文件夹结构中的最快方法。我知道可以使用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
}
}
以上是 在文件夹中的所有文件中搜索字符串 的全部内容, 来源链接: utcz.com/qa/403623.html