# php获取目录下所有文件及目录(多种方法)【转】
2021-01-26 14:13
标签:== 目录 www || val value dir 文件 files 获取某目录下所有子文件和子目录 下面介绍的三种方法,是获取某个目录下所有的目录(包括子目录,子孙目录)和文件,直到最里层 方法一 方法二: 方法三: 文章转自:https://www.jb51.net/article/161203.htm # php获取目录下所有文件及目录(多种方法)【转】 标签:== 目录 www || val value dir 文件 files 原文地址:https://www.cnblogs.com/KillBugMe/p/13231356.htmlfunction 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.‘
‘;
}
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 .‘
‘;
getDir($sub_path);
}else{
//.$path 可以省略,直接输出文件名
echo ‘ 最底层文件: ‘.$path. ‘:‘.$value.‘
‘;
}
}
}
}
$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));
下一篇:MVC过滤器简单刨析
文章标题:# php获取目录下所有文件及目录(多种方法)【转】
文章链接:http://soscw.com/index.php/essay/47300.html