Search File Contents PHP 搜索目录文本内容的代码
程序员文章站
2022-07-03 12:22:26
这个类可以用来搜索在给定的文本目录中的文件。 它可以给定目录遍历递归查找某些文件扩展名的文件。 并打开找到的文件,并检查他们是否包含搜索词语。 它返回一个含有所有文件的列表...
这个类可以用来搜索在给定的文本目录中的文件。
它可以给定目录遍历递归查找某些文件扩展名的文件。
并打开找到的文件,并检查他们是否包含搜索词语。
它返回一个含有所有文件的列表包含搜索词语数组。
<?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
/*
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);
?>
上一篇: Laravel中encrypt和decrypt的实现方法
下一篇: 同时做好站内优化和站外优化
推荐阅读
-
Search File Contents PHP 搜索目录文本内容的代码
-
Search File Contents PHP 搜索目录文本内容的代码
-
Search File Contents PHP 搜索目录文本内容的代码_php技巧
-
Search File Contents PHP 搜索目录文本内容的代码_php技巧
-
contents Search File Contents PHP 搜索目录文本内容的代码
-
Search File Contents PHP 搜索目录文本内容的代码_PHP教程
-
Search File Contents PHP 搜索目录文本内容的代码_PHP教程
-
Search File Contents PHP 搜索目录文本内容的代码