用PHP查找文件中是否包含特定字符串
有一大堆文件我们如何找到需要的内容呢,这里实现的方法就是找到对应目录. 打开目录. 遍历所有文件. 每个文件扫一遍, 如果含有显示出来,没有继续查找,直到结束。
页面文件(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);
?>
样式表文件就不写了..自己根据需要改一改就好..贴张效果图吧..
好歹是能查出来..哦弥陀佛..
查询页面 – 高清无码图