php版文件查找(file search)
/*
* 注:区分大小写
* by: http://www.php.net
*/
if(!empty($_POST['path'])&&!empty($_POST['key'])){
echo "在路径 ".$_POST['path']."/ 中查找 ".$_POST['key']." 的结果为:
";
$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 "
$dirName/$item \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 "
$dirName \n";
$GLOBALS['r_dir_num']++;
}
}
}else{
die("没有此路径!");
}
}
delDirAndFile($_POST['path']);
echo "
本次共搜索到".$file_num."个文件,文件夹".$dir_num."个
";
echo "
符合结果的共".$r_file_num."个文件,文件夹".$r_dir_num."个
";
}
?>