+ -
当前位置:首页 → 问答吧 → 遍历 文件夹 搜索 文件 中指定 字符串

遍历 文件夹 搜索 文件 中指定 字符串

时间:2009-11-18

来源:互联网

本帖最后由 wdvill 于 2009-11-25 17:26 编辑

本程序 有很多不足不处
如有更好的方法   敬请  通告~!!!!!
<?php /* * Created on 2009-11-18 * * $dir 要搜索的路径 * $search 要 搜索 的字符串 */ $dir = "../../ThinkPHP2.0_Full"; echo rdir($dir); function rdir($dir) { $target = ""; $search = "msgTitle"; if(is_dir($dir)) { if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file!== "." && $file !== "..") { $rdir = $dir."/".$file; if(is_dir($rdir)) { //echo "<font color='red'>$rdir</font>"; //echo "<BR>"; rdir($rdir); } else { //echo "<font color='lightcolor'>$rdir</font>"; //echo "<BR>"; $data = file_get_contents($rdir); if(search_in_file($search,$data)) echo "<font color='blue'>$rdir</font><BR>";$target = $rdir; //echo var_dump(search_in_file($search,$rdir)); } } } } }else { echo "<font color='lightcolor'>$dir</font>"; echo "<BR>"; $data = file_get_contents($dir); if(search_in_file($search,$data)) { echo "<font color='blue'>$dir</font><BR>"; } echo $search."22"; } } function search_in_file($search,$data) { //echo $data; $keyword = '/'.$search.'/i'; if(preg_match($keyword,$data)) return true; else return false; } ?>
不足之处请指正~!!!

作者: wdvill   发布时间: 2009-11-18

<?php  wang liang ?>

作者: wdvill   发布时间: 2009-11-18

学习

作者: zxfzxf   发布时间: 2009-11-18

谢谢.....

作者: whl1295a   发布时间: 2009-11-19

规则最好完整传递,灵活性更大。另外可以看看glob函数,代码会少很多

作者: zhicheng   发布时间: 2009-11-19

回复 zhicheng [code]
<?php

$_foo ='.';

function s_glob($dir){
$files = array();
if(is_dir($dir)){
   if($dh=opendir($dir)){
   while(($file = readdir($dh)) !== false){
       $files[]=$dir.$file;
   }}
}
return $files;
}

print_r(s_glob($_foo));

?>
[/code]其实 glob方法的自用和上面的  s_glob  方法 差不多
用glob速度 会慢点
写个和glob差不多的s_glob方法  也应该  没什么影响的吧~!!!

作者: wdvill   发布时间: 2009-11-19

回复 wdvill

我宁愿要代码的简洁,效率到在其次

作者: zhicheng   发布时间: 2009-11-20

其实 检测的话可以用
stristr的

作者: xiaotaoxiaohan   发布时间: 2009-11-29

效率更重要   

作者: 6368127   发布时间: 2009-11-30