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.'<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获取目录下所有文件及目录(多种方法)相关推荐
- Golang获取目录下的文件及目录信息
一.获取当前目录下的文件或目录信息(不包含多级子目录) func main() {pwd,_ := os.Getwd()//获取文件或目录相关信息fileInfoList,err := ioutil. ...
- 8.var目录下的文件和目录详解
1./var目录下的文件和目录详解. /var (该目录存放的是不断扩充且经常修改的目录,包括各种日志文件或者pid文件,存放linux的启动日志和正在运行的程序目录(变化的目录:一般是日志文件,ca ...
- 9.proc目录下的文件和目录详解
1./proc目录下的文件和目录详解 /proc:虚拟目录.是内存的映射,内核和进程的虚拟文件系统目录,每个进程会生成1个pid,而每个进程都有1个目录. /proc/Version:内核版本 /pr ...
- php遍历指定目录下的文件,PHP遍历指定目录下所有文件和目录
PHP目录遍历程序代码,将显示指定目录下的所有文件和文件夹,并列出这些文件,最后统计出文件总数.使用的PHP函数有is_dir.closedir.scan_dir等. 本代码比较准确,可判断目录下的是 ...
- C#递归搜索指定目录下的文件或目录
来源:https://www.cnblogs.com/huhangfei/p/5012978.html 诚然可以使用现成的Directory类下的GetFiles.GetDirectories.Get ...
- java递归url目录_Java递归实现某个目录下所有文件和目录
import java.io.File; import java.util.ArrayList; public class Test1// 实现打印某个目录下的所有文件和目录,要目录在上,文件在下,每 ...
- 操作目录下的文件或目录
1.显示/var目录下所有以l开头,以一个小字母结尾,且中间出现一位数字的文件或目录: # ls /var/l*[[:digit:]]*[[:lower:]] 2.显示/etc ...
- Shell脚本实现统计指定目录下的文件和目录数量
编写一个shell脚本,根据其属性计算给定目录中文件和目录的数量. 要求: ▪调用脚本countdf.sh ▪运行脚本时,在命令行中使用目录的路径,例如 ./countdf.sh〜 /test01.这 ...
- linux把目录下的文件设置属性为rx,LINUX的文件属性与目录配置
LINUX的文件属性与目录配置 发布时间:2008-03-20 10:28:46来源:红联作者:cnbtoo -rwxrwxrwx 1 root root 293 Oct 19 21:24 test ...
最新文章
- 动态生成GridView时,加入DataKeyNames属性,回调时出错解决方法
- 关于NameError: name ‘train_test_split‘ is not defined错误提示
- R语言vtreat包自动处理dataframe的缺失值、使用分组的中位数来标准化数据列中每个数据的值(和中位数表连接并基于中位数进行数据标化)、计算数据列的中位数或者均值并进行数据标准化
- 微软的PivotViewer控件编程续
- C语言-getopt函数
- 你需要来自trustedinstaller的权限才能删除_前后端分离后的权限控制设计方案
- 如何计算近似纳什均衡_明明合作可以“共赢”,为什么他会损人不利己?博弈论之纳什均衡...
- .net数据源控件绑定mysql_理解asp.net中DropDownList编辑数据源,绑定数据库数据。...
- .NET开发相关技术
- iOS图片两种压缩方法
- monthcalendar控件
- Facebook和Ins即将推出NFT项目?Meta的元宇宙计划实现ing
- 紫装の槍使い(トゥーヴァ) / 紫枪(异时层土法)
- c语言代码怎样制作成一个游戏?
- VMware 7.0正式版
- 【杂纪】从ROC曲线到AUC值,再到Mann–Whitney U统计量
- [Mysql] PERCENT_RANK()函数 | CUME_DIST()函数
- 中科院回应“木兰”套壳争议:当事人5年不得晋升,取消3年科研项目申请资格
- JQuery 向下展开收起动画( slideDown(),slideUp() )
- 报驾校,拿驾照,学车各种不容易