php实现按文件名搜索文件的远程文件查找器

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

  使用效果:

php实现按文件名搜索文件的远程文件查找器

  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.glzy8.com

  */

  if(!empty($_POST['path'])&&!empty($_POST['key'])){

  echo "在路径 ".$_POST['path']."/ 中查找 ".$_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($_POST['path']);

  echo "<hr/>本次共搜索到".$file_num."个文件,文件夹".$dir_num."个<br/>";

  echo "<hr/>符合结果的共".$r_file_num."个文件,文件夹".$r_dir_num."个<br/>";

  }

  ?>