php文件名与文件内容查找器实例
php文件查找程序,输入一个路径确定后会遍历目录下所有的文件和文件夹,通过递归可以找到文件夹下面的每一个文件,再通过文件名和输入的关键字匹配,则可以查找到你想要的文件,对于本地,我们可以利用windows自带的查找去进行查找,但是对于线上的话,如查找ftp空间里面文件,本程序是很有用的.
php文件查找器源码,代码如下:
- "Content-Type" content="text/html; charset=utf-8" />
php版文件查找(file search) - method="post">
文件查找(注:区分大小写)
路径:"text"
name="path" />查找:"text"
name="key" />"submit"
name="sub" value=" 开 始 " />- /*
- * 注:区分大小写
- */
- if(!emptyempty($_POST['path'])&&!emptyempty($_POST['key'])){
- echo "在路径 ".$_POST['path']."/ 中查找 ".$_POST['key']." 的结果为:
";- $file_num = $dir_num = 0;
- $r_file_num = $r_dir_num= 0;
- $findFile = $_POST['key'];
- function delDirAndFile( $dirName ){
- if ( $handle = @opendir( "$dirName" ) ) {
- while ( false !== ( $item = readdir( $handle ) ) ) {
- if ( $item != "." && $item != ".." ) {
- if ( is_dir( "$dirName/$item" ) ) {
- delDirAndFile( "$dirName/$item" );
- } else {
- $GLOBALS['file_num']++;
- if(strstr($item,$GLOBALS['findFile'])){
- echo " $dirName/$item
n";- $GLOBALS['r_file_num']++;
- }
- }
- }
- }
- closedir( $handle );
- $GLOBALS['dir_num']++;
- if(strstr($dirName,$GLOBALS['findFile'])){
- $loop = explode($GLOBALS['findFile'],$dirName);
- $countArr = count($loop)-1;
- if(emptyempty($loop[$countArr])){
- echo " $dirName
n";- $GLOBALS['r_dir_num']++;
- }
- }
- }else{
- die("没有此路径!");
- }
- }
- delDirAndFile($_POST['path']);
- echo "
本次共搜索到".$file_num."个文件,文件夹".$dir_num."个
";- echo "
符合结果的共".$r_file_num."个文件,文件夹".$r_dir_num."个
";- }
- ?>
上面只是查找文件,下面看一个查找文件中的字符是否包括我们要找的东西,自己写的一个批量查找文件内容的php程序,我是拿来扫描文件特征码的,现在我贴出代码,供大家参考,代码如下:
- if ($_POST ['Submit'] == '开始') {
- $total = 0; //文件总数
- $dangerous = array (); //危险文件
- $dangerous_content = $_POST ["sstr"];
- $find_path = $_POST ["searchpath"];
- $shortname = $_POST ["shortname"];
- echo "";
- echo "";
- echo "";
- echo "";
- echo "";
- echo "";
- $begin_time=date("U");
- // $dangerous_content = "小亮,Root_GP,Root_CSS,c99sh_updateurl,c99sh_sourcesurl,640684770";
- visitFile ( $find_path, $shortname );
- $end_time=date("U");
- foreach ($dangerous as $d){
- echo $d."
";- }
- echo "查找文件总数:" . $total." 危险文件:".count($dangerous)." 总用时".($end_time-$begin_time)."秒";
- echo "";
- echo "";
- //if (! empty ( $dangerous )) {
- //foreach ( $dangerous as $dan ) {
- //echo "[error]" . $dan . "
";- /