php搜索文件程序分享

yipeiwu_com5年前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['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/>";
}

?>

以上就是php文件查找器程序,可以搜索本地文件,便于操作,希望对大家的学习有所帮助。

相关文章

使用PHP会话(Session)实现用户登陆功能

对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。由于 Session 是以文本文...

解析PHP中empty is_null和isset的测试

代码如下:复制代码 代码如下:<?php$a;$b = false;$c = '';$d = 0;$e = null;$f = array();首先是empty的var_dump输...

浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别

5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别。 URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则...

php输出金字塔的2种实现方法

本文实例讲述了php输出金字塔的2种实现方法。分享给大家供大家参考。具体分析如下: 下面给大家总结了两种实现金字塔打印的方法,一种是利用了自定义函数,另一种是利用了for循环了,其实两都...

PHP开发需要注意的安全问题

作为PHP程序员,特别是新手,对于互联网的险恶总是知道的太少,对于外部的入侵有很多时候是素手无策的,他们根本不知道黑客是如何入侵的、提交入侵、上传漏洞、sql 注入、跨脚本攻击等等。作为...