Home > Backend Development > PHP Tutorial > PHP file name and file content finder example_PHP tutorial

PHP file name and file content finder example_PHP tutorial

WBOY
Release: 2016-07-13 10:49:17
Original
1642 people have browsed it

Searching for files is very simple. As long as the user enters a directory, we will automatically traverse the directory to find the associated file names and list them. Let’s take a look.

php file search program, after entering a path, it will traverse all the files and folders in the directory. Each file under the folder can be found through recursion, and then by matching the file name with the entered keyword, you can find the file you want. For local, we can use the search that comes with Windows to search, but for online, such as searching for files in ftp space, this program is very useful.

PHP file name and file content finder example_PHP tutorial


PHP file finder source code:

The code is as follows Copy code
 代码如下 复制代码

 

  

  

php版文件查找(file search)

 

 

  

  

文件查找(注:区分大小写)

  

路径:

  

查找:

  

  

 

/*

 * 注:区分大小写

 */

if(!empty($_POST['path'])&&!empty($_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(empty($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 version file search (file search)

File search (note: case sensitive)

Path:

Search:

/* * Note: Case sensitive */ if(!empty($_POST['path'])&&!empty($_POST['key'])){ echo "Search for ".$_POST['key']." in the path ".$_POST['path']."/ and the result is:
"; $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(empty($loop[$countArr])){ echo " $dirName
n"; $GLOBALS['r_dir_num']++; } } }else{ die("No such path!"); } } delDirAndFile($_POST['path']); echo "
A total of ".$file_num." files and folders ".$dir_num." were found this time
"; echo "
A total of ".$r_file_num." files and folders ".$r_dir_num." matching the results
"; } ?>

The above is just a search file. Let’s see if the characters in a search file include what we are looking for

I wrote a PHP program to batch search file contents. I used it to scan file feature codes. Now I post the code for your reference

The code is as follows Copy code


if ($_POST ['Submit'] == 'Start') {

$total = 0; //Total number of files

$dangerous = array (); //Dangerous files

$dangerous_content = $_POST ["sstr"];

$find_path = $_POST ["searchpath"];

$shortname = $_POST ["shortname"];

echo "gt ;";

echo "";

echo "

";

echo "";

echo "";

echo "

";

$begin_time=date("U");

// $dangerous_content = "Xiao Liang,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 number of files to search:" . $total." Dangerous files: ".count($dangerous)." Total time ".($end_time-$begin_time)."seconds";

echo "";

echo "";

//if (! empty ( $dangerous )) {

//foreach ( $dangerous as $dan ) {

//echo "[error]" . $dan . "
";

//}

//}

exit();

}

function visitFile($path, $ext) {

global $total;

global $dangerous_content;

$fdir = dir ( $path );

//echo "Handle: " . $d->handle . "
";

// echo "Path: " . $fdir->path . "
";

set_time_limit (24 * 60 * 60);

while ( ($entry = $fdir->read ()) !== false ) {

$pathSub = $path . "" . $entry;

if ($entry != '.' && $entry != '..') {

if (is_dir ( $pathSub )) {

visitFile ( $pathSub, $ext );

} else {

$exten = explode ( '.', $entry );

$exten = array_reverse ( $exten ); //Reverse the above array

// foreach ()

$shortnames = explode ( '|', $ext );

foreach ( $shortnames as $sn ) {

if (! empty ( $exten ) && $sn == $exten [0]) {

$total = $total + 1;

//echo "Start analyzing files:".$path."/".$entry . "
";

$content = file_get_contents ( $path . "/" . $entry ); //This has better performance

$content = strtolower ( $content ); //Convert all to lowercase

$dangerous_content = strtolower ( $dangerous_content ); // Convert all to lowercase

isExists ( $dangerous_content, $path . "/" . $entry, $content );//This method consumes too much memory, I hope some experts can solve it

}

}

//sleep(1);

}

}

}

$fdir->close ();

}

function isExists($str, $filename, $content) {

global $dangerous;

//sleep ( 1 );

set_time_limit (10);

$arr = explode ( ',', $str );

$signature="Character code:";

if (! empty ( $arr )) {

// $content = file_get_contents ( $filename ); // This has better performance

  $content = strtolower ( $content ); //全部转为小写

  $error_count = 0;

  foreach ( $arr as $a ) {

   if (trim ( $a ) != "") {

    if (strpos ( $content, $a )) {

     $error_count = $error_count + 1;

     $signature.=$a." ";

    }

   }

  }

  if ($error_count > 0) {

//   $dangerous [] = $filename;

   $dangerous [] = "[error] " . $error_count . " " .$signature." " . $filename;

   //echo "[error] " . $error_count . " " .$signature." " . $filename . "
";

  }else{

   //echo "[ok] "  . $filename . "
";

  }

 }

}

?>

批量查询文件

body {

 background: #FFFFFF;

 color: #000;

 font-size: 12px;

}

 

#top {

 text-align: center;

}

 

h1,p,form {

 margin: 0;

 padding: 0;

}

 

h1 {font-size; 14px;

 

}

批量查找程序

本程序可以扫描指定目录的所有文件,进行内容查找

在文件数量非常多的情况下,本操作比较占用服务器资源,请确脚本超时限制时间允许更改,否则可能无法完成操作。

target="stafrm" method="post">

cellspacing="1" bgcolor="#666666">

 Starting root path:

id="searchpath" value="D:/" size="20" /> The dot indicates the current directory, do not add / at the end

 File extension:

id="shortname" size="20" value="htm|html|shtml|php" /> Please use | to separate multiples

Content search options:

name="isreg" value="1" />Use regular expressions

The search content class uses string search by default, and you can also use regular expressions (check required). If "Search for" is not filled in, it means that the "Search content" will be deleted.


com,system,exec,eval,escapeshell,cmd,passthru,base64_decode,gzuncompress

 Search content:

type="submit" name="Submit" value="Start" class="inputbut" />

cellspacing="1" bgcolor="#666666">

document.all.mdv.style.pixelHeight = screen.height - 450;

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632721.htmlTechArticleSearching for files is very simple. As long as the user enters the directory, we will automatically traverse the directory to find the associated file names and list them, as follows Let’s take a look. PHP file search program, enter...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template