Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > php技巧

php获取目录下所有文件及目录(多种方法)(推荐)

来源:中文源码网    浏览:1706 次    日期:2024-05-03 09:36:52
【下载文档:  php获取目录下所有文件及目录(多种方法)(推荐).txt 】


php获取目录下所有文件及目录(多种方法)(推荐)
获取某目录下所有子文件和子目录
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.'
';
}
方法二:
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));
以上所述是小编给大家介绍的php获取目录下所有文件及目录多种方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对中文源码网网站的支持!

相关内容