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


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

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

复制代码 代码如下:

<?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);
?>



相关阅读:
Oracle管理被锁表
JavaScript获取GridView选择的行内容
Linux及FreeBSD系统下如何查看CPU信息
分类防范对Linux的DoS攻击
使用Perl常规表达式进行匹配
JavaScript入门之对象与JSON详解
jquery 图片Silhouette Fadeins渐显效果
学习样式表CSS参考-常用的CSS知识
AD RMS 权限策略模板创建和部署攻略
通过几个步骤有效关闭Oracle死锁进程
.Net中如何操作IIS
轻松打造Linux移动平台–UNetbootin
CSS的list-style解释
基于反向代理的Web缓存加速现代理服务器
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 ★猴年祝福语:2016新年贺词 学打蓝球 短篇励志大全故事 思绪随风:“风送流花时过岸” 2015在赴江阴、台州参观考察座谈会上的讲话 雪夜观象阙待漏 春天到 “勤奋“懒惰“之看法作文600字 我是个会煮面孩子 如果你饿了 物流公司员工2011年个人述职报告 北京精神作文900字 小小射击队 笑是一种力量 加快建设和谐新农村的工作要点 病,得治! 天使的安慰 第一次买东西 小学四年级作文350字:我关爱 我快乐 人生,到底有多长?作文500字 兵团教育信息化工作会议主持词 高考升学宴演讲词 父爱窝在被窝里作文500字 【牵手与你,舞醉春天】 永世伤痕作文500字 前事不忘后事之师700字 怀念邻里之情作文900字 逝去了作文200字 有关六一儿童节500字作文 积极推进校园警务建设全力构建平安和谐校园 在政协九届三次委员会闭幕会上的讲话 路漫漫550字 高考算什么 【现代诗】一盏灯 如何安排高考生的饮食 繁华为尘,俗世陌路 我也来跳健身操 技术创新演讲稿 那一句伤透我心的话【我越来越不相信你了】 第一次月考300字 "不送礼",破"四风","转作风"的心得体会 疲惫过后,请微笑 悲伤的、伤感的、心情不好的经典语录 【精品】青春与理想的演讲稿 学会创新读苹果里的星星有感作文500字 零碎的思想作文450字 小兔子伟大的一天 颁奖典礼发言稿 药监器械科科学发展观演讲稿 森林报好词好句好段大全 遇见色狼最好的防身技能

Copyright © 2016 phpStudy |