PHP查找服务器某个目录下的文件

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>文件查找(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="开 始" autocomplete="off"/></p>
  </form>
 </body>
</html>
<?php
/*
 * 注:区分大小写
 * if(!empty($_POST['path'])&&!empty($_POST['key'])){
 echo "在路径 ".$_POST['path']."/ 中查找 ".$_POST['key']." 的结果为:<hr/>";    自定义文件夹位置
 */
if((uploads)&&!empty($_POST['key'])){
 echo "在路径 .uploads./ 中查找 ".$_POST['key']." 的结果为:<hr/>";
 $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 " <span><b> $dirName/$item </b></span><br />\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 " <span style='color:#297C79;'><b> $dirName </b></span><br />\n";
     $GLOBALS['r_dir_num']++;
    }
   }
  }else{
   die("没有此路径!");
  }
 }
 
 delDirAndFile(uploads);
 echo '符合结果的共<font style="color:#FF0000;">'.$r_file_num.'</font>个文件,文件夹<font style="color:#FF0000;">'.$r_file_num.'</font>个';
 echo "<hr/>本次共搜索了".$file_num."个文件,文件夹".$dir_num."个<br/>";
}

?>

  

posted @ 2020-03-17 11:00  荆小轲君  阅读(1356)  评论(0编辑  收藏  举报