Rumah >pembangunan bahagian belakang >tutorial php >详解PHP实现文件搜索的方法

详解PHP实现文件搜索的方法

*文
*文asal
2018-01-05 11:39:052662semak imbas

PHP如何实现文件搜索?php文件查找程序,输入一个路径确定后会遍历目录下所有的文件和文件夹,通过递归可以找到文件夹下面的每一个文件,再通过文件名和输入的关键字匹配,则可以查找到你想要的文件,需要的朋友可以参考下。希望对大家有所帮助。

对于本地,我们可以利用windows自带的查找去进行查找,但是对于线上的话,如查找ftp空间里面文件,本程序是很有用的。

php文件查找器源码:

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

?>

相关推荐:

详解PHP如何实现简易的搜索框自动提示功能

详解PHP如何实现数独求解

详解PHP如何实现csv文件导入数据库

Atas ialah kandungan terperinci 详解PHP实现文件搜索的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn