php获取目录下所有文件及目录(多种方法)(推荐)
获取某目录下所有子文件和子目录
functiongetDirContent($path){ if(!is_dir($path)){ returnfalse; } //readdir方法 /*$dir=opendir($path); $arr=array(); while($content=readdir($dir)){ if($content!='.'&&$content!='..'){ $arr[]=$content; } } closedir($dir);*/ //scandir方法 $arr=array(); $data=scandir($path); foreach($dataas$value){ if($value!='.'&&$value!='..'){ $arr[]=$value; } } return$arr; }
下面介绍的三种方法,是获取某个目录下所有的目录(包括子目录,子孙目录)和文件,直到最里层
方法一
functionsearchDir($path,&$files){ if(is_dir($path)){ $opendir=opendir($path); while($file=readdir($opendir)){ if($file!='.'&&$file!='..'){ searchDir($path.'/'.$file,$files); } } closedir($opendir); } if(!is_dir($path)){ $files[]=$path; } } //得到目录名 functiongetDir($dir){ $files=array(); searchDir($dir,$files); return$files; } $filenames=getDir('lss'); foreach($filenamesas$value){ echo$value.'
'; }
方法二:
functiongetDir($path){ if(is_dir($path)){ $dir=scandir($path); foreach($diras$value){ $sub_path=$path.'/'.$value; if($value=='.'||$value=='..'){ continue; }elseif(is_dir($sub_path)){ echo'目录名:'.$value.'
'; getDir($sub_path); }else{ //.$path可以省略,直接输出文件名 echo'最底层文件:'.$path.':'.$value.'
'; } } } } $path='lss'; getDir($path);
方法三:
functiongetDir($path){ $arr=array(); $arr[]=$path; if(is_file($path)){ }else{ if(is_dir($path)){ $data=scandir($path); if(!empty($data)){ foreach($dataas$value){ if($value!='.'&&$value!='..'){ $sub_path=$path."/".$value; $temp=getDirContent($sub_path); $arr=array_merge($temp,$arr); } } } } } return$arr; } $path='lss'; var_dump(getDir($path));
以上所述是小编给大家介绍的php获取目录下所有文件及目录多种方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。