我是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);
}
Run Code Online (Sandbox Code Playgroud)
在这里,我递归迭代所有目录,然后再次在每个文件上迭代内容数组进行搜索.
有没有更好的方法来进行搜索?请建议更快的替代方案.
谢谢
我们的用例是从kafka删除陈旧/未使用的主题,即,如果某个主题(在所有分区上)在过去7天中没有任何新消息,则我们将其视为陈旧/未使用并删除它。
许多Google搜索结果建议为邮件添加时间戳,然后对其进行解析。对于新的主题和消息,可以使用灵魂化功能,但是我们现有的主题和消息中没有任何时间戳。
我该如何工作?