php获取目录下所有文件及目录的方法
- 更新时间:2020-07-24 13:53:18
- 编辑:敖觅波
参考资料
- Learning PHP设计模式 PDF 电子书 / 39.4 MB / William Sanders 推荐度:
- PHP&MySQL跨设备网站开发实例精粹 PDF 电子书 / 80.9 MB / 陈惠贞,陈俊荣 推荐度:
- 《PHP高性能开发:基础、框架与项目实战》源代码文件 配套资源 / 121.9 MB / 王甲临 推荐度:
- PHP与jQuery开发实例 PDF 电子书 / 9.8 MB / (印) 乔希 (Joshi,V.) 著, 推荐度:
- PHP核心技术与最佳实践 PDF 电子书 / 197.3 MB / 列旭松,陈文 推荐度:
正文内容
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获取目录下所有文件及目录多种方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!
相关教程
-
PHP unlink与rmdir删除目录及目录下所有文件方法
这篇文章主要介绍了PHP unlink与rmdir删除目录及目录下所有文件的实例代码,需要的朋友可以参考下
发布时间:2019-06-18
-
php实现遍历指定目录并存储目录内所有文件属性信息
本篇文章主要介绍了PHP遍历指定目录,并存储目录内所有文件属性信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
发布时间:2020-05-18
-
php opendir()列出目录下文件的方法代码
这篇文章主要介绍了php opendir()列出目录下所有文件的实例代码的相关资料,需要的朋友可以参考下
发布时间:2019-06-19
-
PHP核心技术与最佳实践
《PHP核心技术与最佳实践》系统归纳和深刻解读PHP开发中的编程思想、底层原理、核心技术、开发技巧、编码规范和**实践,为PHP程序员进阶修炼提供全面而高效的指导!
大小:197.3 MBPHP技术与实践电子书
-
跟兄弟连学PHP
本书是畅销书《细说PHP(第2版)》升级版,以实用为设计目标,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的实例代码,图文并茂,系统地介绍了PHP的相关技术及其在实际Web开发中的应用
大小:302.8 MBPHP自学电子书
-
PHP从入门到精通
《php从入门到精通(第4版)》 从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。 《php从入门到精通(第4版)》共分4篇25章
大小:41.6 MBPHP电子书
-
写给PHP开发者的Node.js学习指南
Node.js是一套用来编写高性能网络服务器的JavaScript工具包。结合PHP和Node.js,我们可以概览整个Web服务器从起源到现在的历史过程以及其中的改变。 《 写给PHP开发者的Node.js学习指南 》的目的是
大小:3.46 MBNode.js电子书
-
PHP开发实例大全:基础卷
《PHP开发实例大全》625经典实例及源码分析 15个应用方向 两卷共1225例 40个方向 分门别类实例一应俱全 供学习、速查、实践练习的超全参考手册 php开发实战1200例 php范例大全之全新升级。
大小:232 MBPHP开发电子书