龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

文件遍历 PHP遍历目录和文件列表

时间:2014-06-20 03:18来源:网络整理 作者:网络 点击:
分享到:
PHP遍历目录和文件列表 对于PHP遍历目录和文件列表,下面写了一个简单的类,并附上使用实例,如有所疏漏及错误,请大家指点! [代码片段(69行)]

对于PHP遍历目录和文件列表,下面写了一个简单的类,并附上使用实例,如有所疏漏及错误,请大家指点!

php;toolbar:false;">
<?php  
define('DS', DIRECTORY_SEPARATOR);  

class getDirFile{  

    //返回数组  
    private $DirArray  = array();  
    private $FileArray = array();  
    private $DirFileArray = array();  

    private $Handle,$Dir,$File;  

    //获取目录列表  
    public function getDir( & $Dir ){  
        if( is_dir($Dir) ){  
            if( false != ($Handle = opendir($Dir)) ){  
                while( false != ($File = readdir($Handle)) ){  
                    if( $File!='.' && $File!='..' && !strpos($File,'.') ){  
                        $DirArray[] = $File;  
                    }  
                }  
                closedir( $Handle );  
            }  
        }else{  
            $DirArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';  
        }  
        return $DirArray;  
    }  

    //获取文件列表  
    public function getFile( & $Dir ){  
        if( is_dir($Dir) ){  
            if( false != ($Handle = opendir($Dir)) ) {  
                while( false != ($File = readdir($Handle)) ){  
                    if( $File!='.' && $File!='..' && strpos($File,'.') ){  
                        $FileArray[] = $File;  
                    }  
                }  
                closedir( $Handle );  
            }  
        }else{  
            $FileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';  
        }  
        return $FileArray;  
    }  

    //获取目录/文件列表  
    public function getDirFile( & $Dir ){  
        if( is_dir($Dir) ){  
            $DirFileArray['DirList'] = $this->getDir( $Dir );  
            if( $DirFileArray ){  
                foreach( $DirFileArray['DirList'] as $Handle ){  
                    $File = $Dir.DS.$Handle;  
                    $DirFileArray['FileList'][$Handle] = $this->getFile( $File );  
                }  
            }  
        }else{  
            $DirFileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';  
        }  
        return $DirFileArray;  
    }  

}  
?>   

                                实例:(相对路径或绝对路径)

1.获取目录列表

<?php  
$Dir_dir  = './example';  

$getDirFile = new getDirFile();  
$getDir = $getDirFile->getDir( $Dir_dir );  

print_r($getDir);  
?>  
显示:
[html] view plaincopy
Array  
(  
    [0] => example_one  
    [1] => example_two  
)  

                                2.获取文件列表
<?php  
$File_one_dir = './example/example_one';  
$File_two_dir = 'E:/Workspace/mycode/getDirFile/example/example_two';  

$getDirFile = new getDirFile();  
$getFile_one = $getDirFile->getFile( $File_one_dir );  
$getFile_two = $getDirFile->getFile( $File_two_dir );  

print_r($getFile_one);  
print_r($getFile_two);  
?>  

                                显示:
Array  
(  
    [0] => example.sql  
    [1] => example.txt  
)  

Array  
(  
    [0] => example.php  
)  

                                3.获取目录/文件列表
<?php  
$Dir_dir  = './example';  

$getDirFile = new getDirFile();  
$getDirFile  = $getDirFile->getDirFile( $Dir_dir );  

print_r($getDirFile);  
?>  

                                显示:
Array  
(  
    [DirList] => Array  
        (  
            [0] => example_one  
            [1] => example_two  
        )  

    [FileList] => Array  
        (  
            [example_one] => Array  
                (  
                    [0] => example.sql  
                    [1] => example.txt  
                )  

            [example_two] => Array  
                (  
                    [0] => example.php  
                )  

        )  

)  

精彩图集

赞助商链接