来源:未知 时间:2022-11-01 09:46 作者:小飞侠 阅读:次
[导读] 今天带来php如何获取目录下所有文件及目录教程,并提供三种方法,大家可以自行选择。 方法一:获取某目录下所有子文件和子目录,这里主要用到了 opendir和scandir 方法。 functiongetD...
今天带来php如何获取目录下所有文件及目录教程,并提供三种方法,大家可以自行选择。 方法一:获取某目录下所有子文件和子目录,这里主要用到了 opendir和scandir 方法。 function getDirContent($path){ if(!is_dir($path)){ return false; } //readdir方法 /* $dir = opendir($path); $arr = array(); while($content = readdir($dir)){ if($content != '.' && $content != '..'){ $arr[] = $content; } } closedir($dir); */ //scandir方法 $arr = array(); $data = scandir($path); foreach ($data as $value){ if($value != '.' && $value != '..'){ $arr[] = $value; } } return $arr; } 下面介绍的三种方法,是获取某个目录下所有的目录(包括子目录,子孙目录)和文件,直到最里层 方法一: function searchDir($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; } } //得到目录名 function getDir($dir){ $files = array(); searchDir($dir, $files); return $files; } $filenames = getDir('lss'); foreach ($filenames as $value){ echo $value.'<br/>'; } 方法二: function getDir($path){ if(is_dir($path)){ $dir = scandir($path); foreach ($dir as $value){ $sub_path =$path .'/'.$value; if($value == '.' || $value == '..'){ continue; }else if(is_dir($sub_path)){ echo '目录名:'.$value .'<br/>'; getDir($sub_path); }else{ //.$path 可以省略,直接输出文件名 echo ' 最底层文件: '.$path. ':'.$value.' <hr/>'; } } } } $path = 'lss'; getDir($path); 方法三: function getDir($path){ $arr = array(); $arr[] = $path; if(is_file($path)){ }else{ if(is_dir($path)){ $data = scandir($path); if(!empty($data)){ foreach ($data as $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如何获取目录下所有文件及目录全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com