php读取目录及子目录下所有文件名的方法


Posted in PHP onOctober 20, 2014

本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下:

一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:

$dir="./caxa/";

$file=scandir($dir);

print_r($file);

稍微复杂点的,来自于php手册:

$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents

if (is_dir($dir)) {

if ($dh = opendir($dir)) {

while (($file = readdir($dh)) !== false) {

echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";

} closedir($dh);

}

}

这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:

function searchDir($path,&$data){

if(is_dir($path)){

$dp=dir($path);

while($file=$dp->read()){

if($file!='.'&& $file!='..'){

searchDir($path.'/'.$file,$data);

}

}

$dp->close();

}

if(is_file($path)){

$data[]=$path;

}

}
function getDir($dir){

$data=array();

searchDir($dir,$data);

return   $data;

}
print_r(getDir('.'));

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
IIS6的PHP最佳配置方法
Mar 19 PHP
php 文件上传实例代码
Apr 19 PHP
php流量统计功能的实现代码
Sep 29 PHP
定义php常量的详解
Jun 09 PHP
PHP输出九九乘法表代码实例
Mar 27 PHP
PHP通过API获取手机号码归属地
May 28 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
详解php协程知识点
Sep 21 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 PHP
apache集成php7.3.5的详细步骤
Jun 20 PHP
php实现登录页面的简单实例
Sep 29 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
php中的字符编码转换函数用法示例
Oct 20 #PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 #PHP
php的ZipArchive类用法实例
Oct 20 #PHP
php自定义apk安装包实例
Oct 20 #PHP
php防止站外远程提交表单的方法
Oct 20 #PHP
php获取textarea的值并处理回车换行的方法
Oct 20 #PHP
php实现给图片加灰色半透明效果的方法
Oct 20 #PHP
You might like
PHP中ADODB类详解
2008/03/25 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
Symfony核心类概述
2016/03/17 PHP
PHP基本语法实例总结
2016/09/09 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
Koa代理Http请求的示例代码
2018/10/10 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
python中stdout输出不缓存的设置方法
2014/05/29 Python
Python paramiko模块的使用示例
2018/04/11 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
如何使用python写截屏小工具
2020/09/29 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
css3学习心得分享
2013/08/19 HTML / CSS
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
建筑结构施工求职信
2014/07/11 职场文书
领导干部对照检查材料
2014/08/24 职场文书
会议通知
2015/04/15 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers