建站教学网,让你建站更便捷和轻松!
您当前的位置:首页 > 网络编程 > PHP教程

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

来源:建站教学网  时间:2011-06-22 13:45:40

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

页面文件(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("rn","",$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("rn","",$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);
?>
样式表文件就不写了..自己根据需要改一改就好

责任编辑:风中的自由

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
CopyRight 2008-2009, JZREAD.COM, Inc. All Rights Reserved
皖ICP备09015033号