以树型结构列出指定目录里的所有文件,如果你想知道自己某个目录里有哪些子目录和文件,可以调用这个类来查看,很方便的。下面学步园小编来讲解下怎样才能让树型结构列出指定目录里所有文件?
怎样才能让树型结构列出指定目录里所有文件
$t=newTreeClimber("asp");//新建物件,设置需要列出的目录:在此为asp目录
echoarrayValuesToString($t->getFileList($t->getPath()),"
\n");
functionarrayValuesToString($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; } ?>
//以下为类文件
classTreeClimber{
var$path;
var$fileList=array();
functionTreeClimber($path="."){
$this->path=$path;
}
怎样才能让树型结构列出指定目录里所有文件
#存取路径
functiongetPath(){return$this->path;}
functionsetPath($v){$this->path=$v;}
//返回指定目录里的文件列表,如果没有指定目录,将使用当前目录
//如果不能打开目录(可能没权限或目录不存在,将返回为空
//以递归方式进行
functiongetFileList($dirname=null,$returnDirs=false,$reset=true){
if($dirname==null){$dirname=$this->path;}
#else{$this->setPath($dirname);}
#dout("Recursinginto$dirname...");
if($reset){
$this->fileList=array();
}
$dir=opendir($dirname);
if(!$dir){
print("注意:TreeClimber.getFileList($dirname):不能打开$dirname!");
returnnull;
}
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;
}
}//至此类结束
?>
以上就是关于“怎样才能让树型结构列出指定目录里所有文件”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!