Home  >  Article  >  Backend Development  >  Detailed explanation of how to implement file search in PHP

Detailed explanation of how to implement file search in PHP

*文
*文Original
2018-01-05 11:39:052556browse

How to implement file search in PHP? PHP file search program, after entering a path, it will traverse all the files and folders in the directory. Through recursion, you can find each file under the folder, and then match the file name with the entered keywords to find the file you want. Friends in need can refer to the file. I hope to be helpful.

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 finder source code:

<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>php版文件查找(file search)</title>
 </head>
 <body>
 <form action="" method="post">
 <p> 文件查找(注:区分大小写)</p>
 <p>路径:<input type="text" name="path" /></p>
 <p>查找:<input type="text" name="key" /></p>
 <p><input type="submit" name="sub" value=" 开 始 " /></p>
 </form>
 </body>
</html>
<?php
/*
 * 注:区分大小写
 * by: http://www.daixiaorui.com
 */
if(!empty($_POST[&#39;path&#39;])&&!empty($_POST[&#39;key&#39;])){
 echo "在路径 ".$_POST[&#39;path&#39;]."/ 中查找 ".$_POST[&#39;key&#39;]." 的结果为:<hr/>";
 $file_num = $dir_num = 0;
 $r_file_num = $r_dir_num= 0;
 $findFile = $_POST[&#39;key&#39;];
 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[&#39;file_num&#39;]++;
   if(strstr($item,$GLOBALS[&#39;findFile&#39;])){
    echo " <span><b> $dirName/$item </b></span><br />\n";
    $GLOBALS[&#39;r_file_num&#39;]++;
   }
   } 
  }
  }
  closedir( $handle ); 
  $GLOBALS[&#39;dir_num&#39;]++;
  if(strstr($dirName,$GLOBALS[&#39;findFile&#39;])){
  $loop = explode($GLOBALS[&#39;findFile&#39;],$dirName);
  $countArr = count($loop)-1;
  if(empty($loop[$countArr])){
   echo " <span style=&#39;color:#297C79;&#39;><b> $dirName </b></span><br />\n";
   $GLOBALS[&#39;r_dir_num&#39;]++;
  }
  }
 }else{
  die("没有此路径!");
 }
 }

 delDirAndFile($_POST[&#39;path&#39;]);
 echo "<hr/>本次共搜索到".$file_num."个文件,文件夹".$dir_num."个<br/>";
 echo "<hr/>符合结果的共".$r_file_num."个文件,文件夹".$r_dir_num."个<br/>";
}

?>

Related recommendations:

Detailed explanation How to implement a simple search box automatic prompt function in PHP

Detailed explanation of how to implement Sudoku solving in PHP

Detailed explanation of how PHP implements importing csv files into the database

The above is the detailed content of Detailed explanation of how to implement file search in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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