Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zur Implementierung der Dateisuche in PHP

Ausführliche Erklärung zur Implementierung der Dateisuche in PHP

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

Wie implementiert man die Dateisuche in PHP? Das PHP-Dateisuchprogramm durchsucht nach Eingabe eines Pfads alle Dateien und Ordner im Verzeichnis. Sie können jede Datei im Ordner durch Rekursion finden und dann den Dateinamen mit den eingegebenen Schlüsselwörtern abgleichen, um die gewünschte Datei zu finden. Dateien, Freunde in Not können darauf verweisen. Ich hoffe, es hilft allen.

Für die lokale Suche können wir die mit Windows gelieferte Suche verwenden, aber für die Online-Suche, beispielsweise für die Suche nach Dateien im FTP-Bereich, ist dieses Programm sehr nützlich.

PHP-Dateifinder-Quellcode:

<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/>";
}

?>

Verwandte Empfehlungen:

Ausführliche Erklärung, wie PHP eine einfache automatische Suchfeld-Eingabeaufforderungsfunktion implementiert

Detaillierte Erklärung, wie PHP die Sudoku-Lösung implementiert

Ausführliche Erklärung, wie man CSV-Dateien mit PHP in die Datenbank importiert

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Implementierung der Dateisuche in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn