无限级分类
$arr =array(
array('id' =>1,'area' => '北京', 'pid'=>0),
array('id' =>2,'area' => '河北', 'pid'=>0),
array('id' =>3,'area' => '保定', 'pid'=>2),
array('id' =>4,'area' => '易县', 'pid'=>3),
array('id' =>5,'area' => '海淀', 'pid'=>1),
);
function tree($arr,$pid=0,$lev=0) {
$list = array();
foreach ($arr as $k => $v) {
if($v['pid'] == $pid) {
$v['lev'] = $lev;
$list[] = $v;
$list = array_merge($list,tree($arr,$v['id'],$lev+1));
}
}
return $list;
}
创建级联目录
function createTree($dir){
if(file_exists($dir)){
return ;
}
if(!is_dir(dirname($dir))){
createTree(dirname($dir));
}
mkdir($dir);
return;
}
删除级联目录
function delTree($dir,$lev=1){
if(!file_exists($dir)){
echo '目录不存在';
return ;
}
if(!is_dir($dir)){
echo '不是文件夹';
return ;
}
$fh=opendir($dir);
while(($dirfile = readdir($fh))!==false){
$files = $dir . '/' . $dirfile;
if($dirfile == '.' || $dirfile == '..'){
continue;
}
if(is_file($files)){
unlink($files);
echo '删除 ' . str_repeat('-',$lev) . $files . '文件 成功';
}
if(is_dir($files)){
delTree($files,$lev+1);
}
}
closedir($fh);
rmdir($dir);
echo '删除 ' . str_repeat('--',$lev) . $dir . '目录 成功';
}