程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

我的递归文件搜索无法正常工作

发布于2023-12-27 22:24     阅读(1064)     评论(0)     点赞(10)     收藏(2)


我有一个代码,用于在所有文件中搜索指定的字符串并检查子目录。最后我返回一个数组,其中包含文件名和行号。无论如何,我只得到一个充满最后检查的文件夹的数组。

function scan2($dir,$pre,$counter,$arr) {

include("config.php");  //CONTAINS AN ARRAY OF PATHS WHICH CAN BE SKIPPED
$mergedArray['gesamt'] = 0;

if($counter > 0)
{
    $mergedArray['gesamt'] = $counter; //COUNTS THE TOTAL AMOUNT OF ENTRYS
}



$pre.= "-";
$dh = opendir($dir);

while($file = readdir($dh)) 
{
if($file != "." && $file != "..") 
{
  if(is_dir($dir."/".$file) && !in_array("$dir/$file",$pfade)) //IF IS DIRECTORY
  {
    scan2($dir.'/'.$file,$pre,$counter,$arr);
  }
  else // IF IS FILE
  {
    $handle = fopen($dir.'/'.$file, "r");               

    $string = "";
    $raw = "";
    $count = 0;
    $counter = $counter;
    $info = pathinfo($dir."/".$file);
    if($info["extension"] == "php" || $info["extension"] == "js" || $info["extension"] == "html" || $info["extension"] == "xml")
    {
        while (($line = fgets($handle)) !== false)
        {

            $count++;
            if(strpos($line,$_GET['suche']) == true)
            {
                $string .= $count.',';
                $counter++;
            }

            $raw = substr($string, 0, -1);

        }
        $pfad = $dir.'/'.$file;
        echo $pfad.' -- '.$raw.'<hr>';
        if(strlen($raw) > 0) {
            $mergedArray['eintraege'][$pfad] = $raw;
        }
        fclose($handle);
    }
  }
}
}
array_push($arr, $mergedArray);
closedir($dh);
return $mergedArray;
}


// OUTSIDE THE FUNCTION
$arr = Array();
$tt = scan2("C:/xampp1/htdocs_micha","", 0, $arr);
echo'<pre>';
print_r($tt);
echo'</pre>';

我真的希望你们能理解我的问题并能帮助我。

最好的问候:我


解决方案


暂无回答



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/550914/83160c2717efa83df71c/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)