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


Posted in PHP onMay 10, 2014

对于本地,我们可以利用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: https://3water.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 base64+gzinflate压缩编码和解码代码
Oct 03 PHP
php 友好URL的实现(吐血推荐)
Oct 04 PHP
php读取javascript设置的cookies的代码
Apr 12 PHP
php反射应用示例
Feb 25 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php将字符串转换为数组实例讲解
May 05 PHP
PHP 实现链式操作
Mar 09 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 #PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 #PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 #PHP
php使用正则过滤js脚本代码实例
May 10 #PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 #PHP
php中curl和file_get_content的区别
May 10 #PHP
php实现文件下载功能的几个代码分享
May 10 #PHP
You might like
PHP学习之PHP运算符
2006/10/09 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php中使用sftp教程
2015/03/30 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
PHP getName()函数讲解
2019/02/03 PHP
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
Python运维开发之psutil库的使用详解
2018/10/18 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
销售会计岗位职责
2014/03/15 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
MySQL查询学习之基础查询操作
2021/05/08 MySQL