对于本地,我们可以利用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: https://www.zzvips.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/>";
}
?>