最新消息: 新版网站上线了!!!

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">
    文件查找(注:区分大小写)
    路径:<input type="text" name="path" />
    查找:<input type="text" name="key" />
    <input type="submit" name="sub" value=" 开 始 " />
</form>
</body>
</html>
<?php
/*
 * 注:区分大小写
 */
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读取文件夹下所有文件的方法