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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。