我是 PHP 编码的新手,这里正在寻找对所有目录进行递归搜索以查找字符串数组的最快方法。
我正在这样做
$contents_list = array("xyz","abc","hello"); // this list can grow any size
$path = "/tmp/"; //user will give any path which can contain multi level sub directories
$dir = new RecursiveDirectoryIterator($path);
foreach(new RecursiveIteratorIterator($dir) as $filename => $file) {
$fd = fopen($file,'r');
if($fd) {
while(!feof($fd)) {
$line = fgets($fd);
foreach($contents_list as $content) {
if(strpos($line, $content) != false) {
echo $line."\n";
}
}
}
}
fclose($fd);
}
在这里,我递归地遍历所有目录,然后在每个文件上再次遍历内容数组以进行搜索。
有没有更好的方法来进行搜索?请建议更快的替代方案。
谢谢