Chinaunix首页 | 论坛 | 博客
  • 博客访问: 932155
  • 博文数量: 335
  • 博客积分: 10287
  • 博客等级: 上将
  • 技术积分: 3300
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-08 15:29
文章分类

全部博文(335)

文章存档

2015年(4)

2014年(15)

2013年(17)

2012年(11)

2011年(12)

2010年(96)

2009年(27)

2008年(34)

2007年(43)

2006年(39)

2005年(37)

我的朋友

分类: PHP

2013-12-07 18:11:41

一.递归实现论坛中无限级目录树
首先设计数据库表

create table category(
cate_id int unsigned not null auto_increment primary key,
cat_name varchar(30) not null default '',
parent_id int unsigned not null default 0
) engine=innodb charset=utf8;

然后用函数去递归实现,无限分类

function tree($arr,$pid=0,$level=0){
    static $list = array();
    foreach($arr as $v){
        //如果是顶级分类,则存入$list
        //然后以此节点为根几点,遍历其子节点
        if($v['parent_id'] == $pid){
            $v['level'] = $level;
            $list[] = $v;
            tree($arr,$v['cat_id'],$level+1);
        }
    }
    return $list;
}

#############################################
二.实现函数 可以遍历一个文件夹下的所有文件和子文件夹

function my_scandir($dir){
    $files = array();
    if(is_dir($dir)){
        if($handle = opendir($dir)){
            while(($file = readdir($handle)) !== false){
                if($file != "."&& $file != ".."){
                if(is_dir($dir.'/'.$file)){
                    $files[$file] = my_scandir($dir.'/'.$file);
                    }else{
                        $files[] = $dir.'/'.$file;
                    }
                }
            }
            closedir($handle);
            return $files;
        }
    }
}
var_dump(my_scandir('D:\wamp\www\study'));
阅读(575) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~