用PHP查找文件中是否包含特定字符串

网络整理 - 08-02

有一大堆文件我们如何找到需要的内容呢,这里实现的方法就是找到对应目录. 打开目录. 遍历所有文件. 每个文件扫一遍, 如果含有显示出来,没有继续查找,直到结束。

页面文件(allFile.php)


 <div id="checkArea">
 <h2>Just Check It!</h2>
 <form action="check.php" method="post">
  Input the folder’s relative path:<br />
  <input type="text" name="checkDir" /><br />
  Input what you wanna check:<br />
  <input type="text" name="checkStr" /><br />
  <input type="submit" value="Check!" class="btn" />
 </form>
</div>
内容处理文件(check.php)


 <?php
 //获取到页面传递的文件路径, 需要查询的字符串
 //去掉字符串中的所有空格, 回车, tab缩进
 $dir = $_POST["checkDir"];
 $check = $_POST["checkStr"];
 
 $check = str_replace(" ","",$check);
 $check = str_replace("\r\n","",$check);
 $check = str_replace("\t","",$check);
 
 //打开目录
 $dir_handle = openDir($dir);
 $date = "";
 
 echo "<table id=\"allFile\">\n";
 echo "<tr><th class=\"listNum\">Num</th><th>Stauts</th><th class=\"alignLeft\">File Name</th><th>File Size</th><th>File Type</th><th>Time</th></tr>";
 
 $listNum = 0;
 while($file = readdir($dir_handle)){
  if(filetype($dir.$file) != "dir"){
   $listNum++;
 
   echo "<tr><td class=\"listNum\">".$listNum."</td>";
 
   //获取文件全部内容(字符串)
   $date = file_get_contents($dir.$file);
 
   //去掉字符串中的所有空格, 回车, tab缩进
   $date = str_replace(" ","",$date);
   $date = str_replace("\r\n","",$date);
   $date = str_replace("\t","",$date);
 
   //检测是否包含有特定字符串
   if(strstr($date,$check)){
    echo "<td><span>√</span></td>";
   }else{
    echo "<td><span class=\"red\">X</span></td>";
   }
   $date = "";
 
   //打印结果
   echo "<td class=\"alignLeft\"><a href=\"".$dir.$file."\" target=\"_blank\">".$file."</a></td>";
   echo "<td>".filesize($dir.$file)." byte</td>";
   echo "<td>".filetype($dir.$file)."</td>";
   echo "<td>".date("Y-n-t",(filemtime($dir.$file)))."</td>";
   echo "</tr>\n";
  }
 }
 echo "</table>\n</div>";
 
 //关闭目录
 closedir($dir_handle);
?>
样式表文件就不写了..自己根据需要改一改就好..贴张效果图吧..

好歹是能查出来..哦弥陀佛..

查询页面 – 高清无码图