Search File Contents PHP 搜索目录文本内容的代码


Posted in PHP onFebruary 21, 2010

这个类可以用来搜索在给定的文本目录中的文件。
它可以给定目录遍历递归查找某些文件扩展名的文件。
并打开找到的文件,并检查他们是否包含搜索词语。

它返回一个含有所有文件的列表包含搜索词语数组。

<?php 
/* 
Class for searching the contents of all the files in a directory and its subdirectories 
For support please visit http://www.webdigity.com/ 
*/ 
class searchFileContents{ 
var $dir_name = '';//The directory to search var $search_phrase = '';//The phrase to search in the file contents 
var $allowed_file_types = array('php','phps');//The file types that are searched 
var $foundFiles;//Files that contain the search phrase will be stored here 
//开源代码OSPHP.COM.Cn 
var $myfiles; 
function search($directory, $search_phrase){ 
$this->dir_name = $directory; 
$this->search_phrase = $search_phrase; 
$this->myfiles = $this->GetDirContents($this->dir_name); 
$this->foundFiles = array(); 
if ( empty($this->search_phrase) ) die('Empty search phrase'); 
if ( empty($this->dir_name) ) die('You must select a directory to search'); 
foreach ( $this->myfiles as $f ){ 
if ( in_array(array_pop(explode ( '.', $f )), $this->allowed_file_types) ){ //开源OSPhP.COM.CN 
$contents = file_get_contents($f); 
if ( strpos($contents, $this->search_phrase) !== false ) 
$this->foundFiles [] = $f; 
//开源代码OSPhP.COm.CN 
} 
} 
return $this->foundFiles; 
} 
function GetDirContents($dir){ 
if (!is_dir($dir)){die ("Function GetDirContents: Problem reading : $dir!");} 
if ($root=@opendir($dir)){ 
//PHP开源代码 
while ($file=readdir($root)){ 
if($file=="." || $file==".."){continue;} 
if(is_dir($dir."/".$file)){ 
$files=array_merge($files,$this->GetDirContents($dir."/".$file)); 
}else{ 
$files[]=$dir."/".$file; //开源OSPhP.COM.CN 
} 
} 
} 
return $files; 
} 
} 
//Example : 
$search = new searchFileContents; 
$search->search('E:/htdocs/AccessClass', 'class'); //开源代码OSPHP.COM.Cn 
var_dump($search->foundFiles); 
?>
PHP 相关文章推荐
浅谈Eclipse PDT调试PHP程序
Jun 09 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
PHP中Laravel 关联查询返回错误id的解决方法
Apr 01 PHP
PHP解决中文乱码
Apr 28 PHP
PHP分享图片的生成方法
Apr 25 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
php workerman定时任务的实现代码
Dec 23 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
Laravel如何实现自动加载类
Oct 14 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 #PHP
用Zend Encode编写开发PHP程序
Feb 21 #PHP
PHP 学习路线与时间表
Feb 21 #PHP
php 高效率写法 推荐
Feb 21 #PHP
php 魔术函数使用说明
Feb 21 #PHP
php microtime获取浮点的时间戳
Feb 21 #PHP
PHP+ajax 无刷新删除数据
Feb 20 #PHP
You might like
php error_log 函数的使用
2009/04/13 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
php的一个简单加密解密代码
2014/01/14 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
jquery简单体验
2007/01/10 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
python与字符编码问题
2019/05/24 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
python3中确保枚举值代码分析
2020/12/02 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
会计演讲稿范文
2014/05/23 职场文书
春节超市活动方案
2014/08/14 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
python如何为list实现find方法
2022/05/30 Python
Redis全局ID生成器的实现
2022/06/05 Redis