树型结构列出指定目录里所有文件的PHP类

女人必须现实

女人必须现实

2016-01-29 14:50

树型结构列出指定目录里所有文件的PHP类,树型结构列出指定目录里所有文件的PHP类
  <?
//以树型结构列出指定目录里的所有文件,如果你想知道自己某个目录里有哪些子目录和文件,可以调用这个类来查看,很方便的。

    # 演示的例子:
    $t = new TreeClimber( "asp" ); //新建物件,设置需要列出的目录:在此为asp目录
    echo arrayValuesToString( $t-getFileList( $t-getPath() ), "<BRn" );
    
    function arrayValuesToString( $ar, $nl="", $dolast=true ) {//调用函数
    $str = "";
    reset( $ar );
    $size = sizeof( $ar );
    $i = 1;
    while( list( $k, $v ) = each( $ar ) ) {
    if ( $dolast == false ) {
    if ( $i < $size ) {
        $str .= $ar[$k].$nl;
    }
    else {
        $str .= $ar[$k];
    }
    }
    else {
    $str .= $ar[$k].$nl;
    }
    $i++;
    }
    return $str;
    }
    ?
    <?
    //以下为类文件
    class TreeClimber {
    var $path;
    var $fileList = array();
    function TreeClimber( $path = "." ) {
    $this-path = $path;
    }
    
    # 存取路径
    function getPath() { return $this-path; }
    function setPath( $v ) { $this-path = $v; }
    
    // 返回指定目录里的文件列表,如果没有指定目录,将使用当前目录
    //如果不能打开目录(可能没权限或目录不存在,将返回为空
    //以递归方式进行
     function getFileList( $dirname=null, $returnDirs=false, $reset=true ) {
    if ( $dirname == null ) { $dirname = $this-path; }
    # else { $this-setPath( $dirname ); }
    # dout( "Recursing into $dirname..." );
    if ( $reset ) {  
    $this-fileList = array();
    }
    $dir = opendir( $dirname );
    if ( ! $dir ) {  
    print( "<B<FONT COLOR=#FF0000注意: TreeClimber.getFileList( $dirname ): 不能打开 $dirname!</FONT</B" );
    return null;  
    }
    while( $file = readdir( $dir ) ) {
    if ( ereg( "^.$", $file ) || ereg( "^..$", $file ) ) continue;
    if ( is_dir( $dirname."/".$file ) ) {
    $this-getFileList( $dirname."/".$file, $returnDirs, false );
    if ( $returnDirs ) { $this-fileList[] = $dirname."/".$file;}
    }
    else { $this-fileList[] = $dirname."/".$file; }
    }
    sort( $this-fileList );
    return $this-fileList;
    }
    } //至此类结束
    ?

 
展开更多 50%)
分享

猜你喜欢

树型结构列出指定目录里所有文件的PHP类

PHP
树型结构列出指定目录里所有文件的PHP类

搜索或处理指定目录下的所有文件

编程语言 网络编程
搜索或处理指定目录下的所有文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用正确的PHP类搜索定位目录树

PHP
利用正确的PHP类搜索定位目录树

关于生成目录树结构的类

ASP
关于生成目录树结构的类

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

AJAX实现动态树型结构

Web开发
AJAX实现动态树型结构

bbs树型结构的实现方法(二)

ASP
bbs树型结构的实现方法(二)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Mysql 数据库字符集转换及版本升级/降级的详细教程

Mysql 数据库字符集转换及版本升级/降级的详细教程

屏蔽浏览器缓存另类方法

屏蔽浏览器缓存另类方法
下拉加载更多内容 ↓